【发布时间】:2016-03-08 01:06:14
【问题描述】:
我在尝试将查询转换为货币格式时遇到了问题。下面是代码,在尝试对“购买”总和进行转换时,我不断收到两条不同的错误消息。
使用时:
sum(case
when trandate between '2015-01-01' and '2015-03-31'
then format(purchases, 'C', 'en-US')
else 0 end) as q1
我收到错误消息 102
使用时:
sum(case
when trandate between '2015-01-01' and '2015-03-31'
then ('$' + CONVERT(varchar(12), purchases, 1))
else 0 end) as 'Q1 2015'
我收到错误消息 245。
我似乎无法找到解决方案。当只是简单地在行级别查询数据并使用两种格式时,我会得到 $xxx 返回。任何帮助将不胜感激。
干杯
【问题讨论】:
-
您使用的是哪种 SQL 变体?
-
将 else 分支添加到您的案例陈述中
-
抱歉没有从我的查询中复制手动输入...否则 0 end) 是案例陈述的一部分
标签: sql sql-server formatting currency