繁体   English   中英

SQL Server:为什么FORMAT在参数为零时返回空字符串?

[英]SQL Server: Why does FORMAT return an empty string when the parameter is a zero?

在将数字转换为文本时,我正在处理一个奇怪的错误。

每当数字为零时, FORMAT返回一个空字符串,而不是'0'

这种行为有原因吗?
我是否错误地使用了FORMAT功能?

SELECT FORMAT ( 1 , N'#.######################' )  /* result '1' */

SELECT FORMAT ( 1E0 , N'#.######################' )  /* result '1' */

SELECT FORMAT ( 1.0 , N'#.######################' )  /* result '1' */

SELECT FORMAT ( 0 , N'#.######################' )  /* result '' */

SELECT FORMAT ( 0E0 , N'#.######################' )  /* result '' */

SELECT FORMAT ( 0.0 , N'#.######################' )  /* result '' */

#.#####产生了我们需要的风格,所以如果可能的话,我们想保留它。

作为一种解决方法,我手动检查零 - 但这很烦人,有点不可扩展。

0为0时, #不填充零。 我想你想要的是:

SELECT FORMAT ( 0 , N'0.######################' ) 

请参阅https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM