在SQL中使用CASE语句时如何将数字显示为货币

时间:2019-05-09 05:38:52

标签: mysql

正在显示的数字是小数点后的长整数。

SELECT *,
CASE 
WHEN phonecalls_type = 'NATIONAL' THEN phonecalls_duration*0.5666666667
WHEN phonecalls_type = 'MOBILE' THEN phonecalls_duration*0.76666666667
ELSE phonecalls_duration*0
END AS CallCost
FROM phonecalls
WHERE phonecalls_calling LIKE '$FNN' 
ORDER BY phonecalls_datetime ASC

需要以货币格式显示“电话”,即$ 1.56,而不是156.68268525

1 个答案:

答案 0 :(得分:0)

您可以使用正确的格式

FORMAT( CASE 
WHEN phonecalls_type = 'NATIONAL' THEN phonecalls_duration*0.5666666667
WHEN phonecalls_type = 'MOBILE' THEN phonecalls_duration*0.76666666667
ELSE phonecalls_duration*0
END, 2)  

CONCAT('$', FORMAT( CASE 
  WHEN phonecalls_type = 'NATIONAL' THEN phonecalls_duration*0.5666666667
  WHEN phonecalls_type = 'MOBILE' THEN phonecalls_duration*0.76666666667
  ELSE phonecalls_duration*0
  END, 2) )