我的表中有两列:AmountIncl_LC
和AmountExcl_LC
这是nvarchar
数据类型。
现在O想要更改这两列的数据类型并将两列求和成一列。
select cast(AmountIncl_LC as int)int [AmountIncl_LC]
from dbo.table2
我使用了上面的查询,这让我说了一个错误
第15级状态1行1的消息102
'AmountIncl_LC'附近的语法不正确。
答案 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