【发布时间】:2014-09-04 15:57:39
【问题描述】:
在 t-sql 中是否有任何方法可以从 varchar 中获取,例如 12,3 数字参数 12.3 而无需使用
select cast(replace('12,3',',','.') as numeric(12,2))
select cast(cast('12,3' as money) as numeric(12,2))/10
类似
ALTER SESSION SET NLS_NUMERIC_CHARACTERS =','
在 Oracle PL/SQL 中。
【问题讨论】:
-
嗯,通常的答案是“不要将数字存储为字符串”。你为什么这样做?
-
我需要解析包含许多数字参数的json。
-
您在 T-SQL 中解析 JSON?我认为您为该任务选择了错误的技术 :) 您可能应该在服务器代码中处理它,或者如果您确实需要在 MS SQL 中存储文档,您应该使用 XML 而不是 JSON - XML 是 MS SQL 中的本机,不像 JSON。
标签: sql-server tsql sql-server-2012 decimalformat