求教 SQLser里如何做到oracle里FM999,999,999,990这种格式化 10
在做sql文转换把oracle移植到SQLser上,碰到了这样的问题,oracle其中的FM999,999,990这种格式,在SQL没有东西很好对应稍微解释下:FM999...
在做sql文转换把 oracle移植到SQLser上,碰到了这样的问题,oracle其中的FM999,999,990这种格式,在SQL没有东西很好对应
稍微解释下:FM999 其9代表:如果存在数字则显示数字,不存在则显示空,其0代表:如果存在数字则显示数字,不存在则显示0,即占位符。其FM代表:删除如果是因9带来的空格,则删除之 展开
稍微解释下:FM999 其9代表:如果存在数字则显示数字,不存在则显示空,其0代表:如果存在数字则显示数字,不存在则显示0,即占位符。其FM代表:删除如果是因9带来的空格,则删除之 展开
2个回答
展开全部
SELECT
CASE
WHEN SUBSTRING(FORMAT(charge_amt,4),-1) != 0 THEN CONVERT(charge_amt, decimal(16,4))
WHEN SUBSTRING(FORMAT(charge_amt,4),-2) != 0
AND SUBSTRING(FORMAT(charge_amt,4),-1) = 0 THEN CONVERT(charge_amt, decimal(16,3))
ELSE CONVERT(charge_amt, decimal(16,2))
END
FROM m_a_gp_agreement
我这个是模拟保留2-4位小数,to_char(100.0034,'FM99999999990.0099')
CASE
WHEN SUBSTRING(FORMAT(charge_amt,4),-1) != 0 THEN CONVERT(charge_amt, decimal(16,4))
WHEN SUBSTRING(FORMAT(charge_amt,4),-2) != 0
AND SUBSTRING(FORMAT(charge_amt,4),-1) = 0 THEN CONVERT(charge_amt, decimal(16,3))
ELSE CONVERT(charge_amt, decimal(16,2))
END
FROM m_a_gp_agreement
我这个是模拟保留2-4位小数,to_char(100.0034,'FM99999999990.0099')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |