簡體   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