我正在尝试将具有nvarchar
值的列(如-0.0075)转换为十进制,如下所示:
ALTER TABLE [TwilioSmsLogs] ADD Price_New decimal(18,5)
UPDATE [TwilioSmsLogs]
SET Price_New = CONVERT(DECIMAL(18,5), ISNULL(Price,0))
ALTER TABLE [TwilioSmsLogs] DROP COLUMN Price
EXEC sp_RENAME 'TwilioSmsLogs.Price_New' , 'Price', 'COLUMN'
但是我收到了一个错误:
将数据类型nvarchar转换为数字时出错。
请帮我解决。
答案 0 :(得分:1)
此查询修复了我的问题
update [TwilioSmsLogs]
set Price_New = convert(decimal(18,5), round(ISNULL(Price,0),5))