Sql 如何将大小为N的数字转换为字符串-oracle
下面的查询给出了正确的格式Sql 如何将大小为N的数字转换为字符串-oracle,sql,oracle,Sql,Oracle,下面的查询给出了正确的格式 select to_char(999.00,'9,99.00') from dual output = 9,99.00 如果我没有具体的号码怎么办 999999999999999999999999999999999.00 应转换为 9999999999999999999999999999999,99.00 有可能做到吗? 有什么格式吗 在格式化字符串中使用FM前缀。它将根据转换结果修剪前导空格: select ''''||to_char(12
select to_char(999.00,'9,99.00') from dual
output = 9,99.00
如果我没有具体的号码怎么办
999999999999999999999999999999999.00
应转换为
9999999999999999999999999999999,99.00
有可能做到吗?有什么格式吗 在格式化字符串中使用
FM
前缀。它将根据转换结果修剪前导空格:
select ''''||to_char(123456.00, 'FM999999999999999999,99.00')||''''
, ''''||to_char(123456.00, '999999999999999999,99.00')||''''
from dual
;
产生
'1234,56.00'
' 1234,56.00'
注意:
必须指定与格式匹配的最短表示形式中要转换的最大数字的位数。把一个复杂的短语变成一个简单的例子,
to_char(123456.00,'FM9,99.00')
是行不通的。我知道我们必须给出所有99999999999的方法。但是有没有更好的办法?我不知道我的数字的长度。Iirc,oracle数字最多可能有38位(尾数),所以在你的模式中使用389
s,这样你就安全了。