将NVARCHAR-0.0075转换为DECIMALSQL

时间:2015-02-02 07:13:12

标签: sql sql-server-2008-r2

我正在尝试将具有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转换为数字时出错。

请帮我解决。

1 个答案:

答案 0 :(得分:1)

此查询修复了我的问题

update [TwilioSmsLogs]
set Price_New = convert(decimal(18,5), round(ISNULL(Price,0),5))