我需要按照以下规则将十进制数字格式设置为char(12)(右对齐):
0 -> .00
0.12 -> .12
9.80 -> 9.80
-2.12 -> 2.12-
我可以使用sql中的任何字符串格式函数吗?还是我必须编写自己的函数?
虽然用SQL格式化文本不是理想的选择,但我认为以下内容可以使您接近。使用CASE
语句移动符号,RIGHT()
添加填充以及REPLACE()
从以下1的值中删除前导零:
SELECT REPLACE(RIGHT(' '+CASE WHEN col1 < 0
THEN CAST(col1 *-1 AS VARCHAR(12))+'-'
ELSE CAST(col1 AS VARCHAR(12))
END,12),' 0.',' .')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句