我得到了以下错误
Msg 8115,级别16,状态6,行5< br>算术溢出错误,将varchar转换为数据类型数字。
这是示例DDL,说明了我的问题。如何设置一个能够实现这种功能的查询?
Declare @Teetotal As Table (ramalad varchar(500))
Insert Into @Teetotal (ramalad) Values ('200.4'), ('300.12')
Select ramalad
,ManipulatedData = CAST(ramalad AS DECIMAL(16,2)) + ' - ' + (CAST(ramalad As DECIMAL(10,2))/25)*3
FROM @Teetotal发布于 2017-06-14 23:50:57
之所以会出现这种情况,是因为您试图将字符串添加到十进制:
CAST(ramalad AS DECIMAL(16,2)) + ' - 'SQL不知道如何将' - '转换为数字,因此会引发错误。
也许你想要的是:
ManipulatedData = ramalad + ' - ' + CAST( (CAST(ramalad As DECIMAL(10,2))/25) *3 as varchar)https://stackoverflow.com/questions/44556349
复制相似问题