我知道它可以在非SQL環境中輕鬆完成[數據後處理,前端,你有什麼],但目前還不可能。有沒有辦法採取decimal(5,2)
並將其轉換爲varchar
沒有尾隨零/小數點?例如:有什麼簡單的方法來格式化T-SQL中的小數?
declare @number decimal(5,2)
set @number = 123.00
select cast(@number as varchar) as FormattedNumber
而結果是'123.00'。有沒有一種(簡單的)方法來取代'123'?同樣,而不是'123.30','123.3'?可以通過確定百分之零點十是否爲0並手動修剪字符來實現,但我想知道是否有更優雅的解決方案。
我會從數據庫中原樣返回數據,並將格式保留到前端。你有沒有理由不能這樣做? – AdaTheDev 2010-01-27 21:54:14
是的,就像我說的那樣,這不是一個真正的選擇 - 前端,因爲它現在太泛化了,沒有特殊的格式化特定字段的情況下返回(因爲列的數量可能會改變),沒有其他列需要被格式化,所以我看到的最簡單的事情就是從SQL執行它。 – 2010-01-27 21:59:02
使用SQL Server 2012+可以使用FORMAT()函數。您將使用'#,##'或'#,##。0'作爲第二個參數。 msdn.microsoft.com/en-us/library/hh213505.aspx – Volvox 2014-06-23 17:38:54