【发布时间】:2018-02-07 03:29:15
【问题描述】:
我真的厌倦了在 SQL Server 中将字符串转换为十进制。
这是我正在尝试转换为十进制的查询
DECLARE @price VARCHAR(50)
SET @price = '168,00'
SELECT
REPLACE(CAST(@price AS DECIMAL(29,2)), '.', ',')
UPDATE MyTable
SET Invoice = REPLACE(CAST(@price AS DECIMAL(29,2)), '.', ',')
WHERE ID = 111
但我收到此错误:
消息 8114,第 16 级,状态 5,第 7 行
将数据类型 varchar 转换为数值时出错
我怎样才能摆脱这个问题?
【问题讨论】:
-
在演员阵容之前进行替换,而不是之后(你已经把它们颠倒了)。你正在做演员/替换;你需要替换/转换。
标签: sql sql-server sql-server-2012