1

我有一个包含大约 20K 行数据的表。一个 varchar 列包含格式为 $xxx,xxx,xxx.00 的货币信息。我想创建一个十进制类型的附加列并将 varchar 数据复制到其中,显然同时剥离 $ 和 ,'s。

我玩过 cast 和 convert ,混合了 trim 和 replace 功能,但还没有成功地将它放到一个新的专栏中。

因为我们要对数据进行许多未来的计算,所以我们希望它转换一次,而不是每次计算都转换它。

任何建议将不胜感激!

先感谢您!

--肯特

4

2 回答 2

1

尝试替换 $ 和“,”,然后转换。你应该很好

CONVERT(NUMERIC(28,4),REPLACE(REPLACE(stringColumn,'$',''),',',''))

SQL Fiddle在这里

于 2013-06-13T18:54:24.770 回答
0
 Select Cast(Replace(Replace(ColName, '$', ''), ',', '') as Money)
于 2013-06-13T18:54:34.070 回答