【发布时间】:2016-08-15 07:49:39
【问题描述】:
我有一个 nvarchar(255) 列,用于存储很久以前从 excel 导入的数字。
格式如下:
7,242
(4,011)
-
(24,120.2)
-
4,234,091
“-”在这里表示0。
我目前正在使用“替换”将其转换为十进制
convert(decimal(18,4),RTRIM(LTRIM(replace(replace(replace(replace([Column a],'-',0),',',''),'(','-'),')',''))))
无论如何,我认为这有点愚蠢。有更好的方法吗?
【问题讨论】:
-
给出一个清晰的样本和一个清晰的样本结果也
-
我们说的是 mssql (T-SQL) 吗? convert(money,'1,234,567.8',1) 转换格式化字符串 nice; convert(money,'-',1) 转换为 0 可以将结果转换为任意数值类型
标签: sql-server string tsql decimal