鉴于
declare @text varchar(4) ='3677.98*' , @text2 varchar(4) ='1245367.98%'
我想要输出如下:
3,677.98 *和1,245,367.98%
我试过以下:
select convert(varchar,cast(3677.98 as money),1) --output as 3,677.98
如果我尝试select convert(varchar,cast(3677.98* as money),1)
,则会在关键字'附近显示错误语法为'。
答案 0 :(得分:1)
如果要将varchar转换为Money格式,则可以使用的唯一货币符号位于this chart, from MSDN。 *和%不符合条件。
如果要存储数量和特殊字符,则需要将它们存储为varchar或使用两列,即money和varchar。
答案 1 :(得分:0)
您可以编写一个标识小数点分隔符的UDF,并从那里开始计算,在输出中添加逗号(或适合语言环境的等效项)。但是,对于查询过去的时间,这不会很好。