我想了解格式化HSQLDB select
查詢以獲取人類可讀輸出的數字數據的最佳做法。 目標是能夠使用類似於C的printf()
的格式來格式化數字。意思是,我希望能夠指定如何在HSQLDB中格式化數字 - printf()等效
- 逗號分隔符每隔3 S.F.
- #的小數點後的位數
- 0小數點
- 等
爲了討論之前填充,我舉個例子:我在寫的HSQLDB一個存儲過程創建一個人類可讀的審計線索。我想的示例行是:
Time Event
---- -----
2014-02-10 14:54:10.855 Filled 50,000 at 13.3144 (66,5720.00 MXN), leaves 0.
的數值從DB柱(整數和十進制)發起。但目前我使用CAST
將這些轉換爲VARCHAR,然後使用||連接它們。實際的輸出是:
Filled 50000.0E0 at 13.3144E0 (665720.0E0 MXN), leaves 0.0E0
我也擔心整個消息被截斷 - 我需要確保轉換後的數字的長度不超過事件列的允許大小。
所以我想聽聽人們在做這樣的事情時接近的是什麼。有一點可以想到,這可以寫在java存儲過程中,允許使用printf()
。這是最好的方式,還是有一個很好的方式來在SQL中執行它?另外,爲了爭辯,我們假設這需要成爲數據庫的一部分(即,從外部查詢表格然後格式化數據不是一種選擇)。