数据类型的sql转换和转换

时间:2018-09-05 07:10:39

标签: sql sql-server tsql casting

我的表中有两列:AmountIncl_LCAmountExcl_LC这是nvarchar数据类型。

现在O想要更改这两列的数据类型并将两列求和成一列。

select cast(AmountIncl_LC as int)int [AmountIncl_LC] 
from dbo.table2 

我使用了上面的查询,这让我说了一个错误

  

第15级状态1行1的消息102
  'AmountIncl_LC'附近的语法不正确。

3 个答案:

答案 0 :(得分:2)

尝试一下:

select cast(AmountIncl_LC as numeric(16,8))+cast(AmountExcl_LC as numeric(16,8)) from dbo.table2

答案 1 :(得分:0)

尝试

select cast(AmountIncl_LC as int)+cast(AmountExcl_LC as int) from dbo.table2

答案 2 :(得分:0)

问题未包含所有详细信息。数据库似乎保留以Nvarchar形式存储的十进制格式的整数,这并不是一个好方法。您应该尝试投射:

select try_cast(AmountIncl_LC as decimal)+try_cast(AmountExcl_LC as decimal) from dbo.table2