SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理

SQL Server 字段类型 decimal(18,6)小数点前是几位?

不可否认,这是一个很低级的问题....

为什么会问这么低级的问题?

由于这个问题,导致一个数据导入的SP执行失败....以至于困扰了我好几个小时....

事情是这样的...

公司总部上了一套Oracle的ERP,我们系统中有些数据要从里面取,比如Supplier,Product等。

Oracle会导出数据文件,我们同SSIS刷到本地相应的数据库(数据库的字段和Oracle的一致)。

对我们来说就是数据源变了,需要把Oracle的数据转化成我们先系统可以用的数据。

由于Oracle上线比较"快",为了让现有的系统基本能跑起来,同事写一个SP转化导入到我们系统的数据库。

这个SP 写的比较粗糙。

同事只是把Oracle的数据在进行处理之后 AS成现系统的字段。

sql语句是这样的:

SELECT [DT_UAMT],[DT_DAMT],[DT_AMT] INTO Temp_DT_PODT FROM ( NULL AS DT_UAMT ,convert(varchar,convert(decimal(18,6),isnull(usd_amount,\'0\') * 100)) as DT_DAMT ,convert(varchar,convert(decimal(18,6),isnull(LINE_AMOUNT,\'0\') * 100)) as DT_AMT FROM OracleDB.[dbo].OracleTB
)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgwxs.html