Blueimp 論壇首頁

列印 2024/4/16 下午 03:46:13 在同一個網頁中顯示這個話題的所有文章
文章作者 jieh2007/3/19 下午 06:37:10
applause   用 SQL 把數字補 0
剛剛有個 pig 寫了個補 0 的 SQL 問我怎麼寫不出來

主要當然是他沒把數字轉字串所以 SQL 很雞婆會自動轉回數字
其次是他的技巧是 先判斷數字的長度 然後再不斷用 case-when 補字串 '000...'
換句話說 如果最大可能補 10 個 0 他的 SQL 就要寫 10 組 case-when

經過本大師的指導 只要以下這行就搞定了...
 
substring('0000000000', 1, 10 - len(a)) + a


所以啊... 沒有 java 想弄個補 0 其實也不難喔!!!

(轉貼時請加註來源) 引用自:藍色小惡魔用 SQL 把數字補 0
https://www.imp.idv.tw/play/forum/viewthread?thread=741

感謝 juevampire 大大補充,引用各資料庫之 function 語法如下:

-- SQL Server:  
select replicate('0', (10-len('123')))+'123'

-- Oracle:
SELECT LPad('123',10,'0') FROM dual

-- DB2:
values char(repeat('0',10-length('123'))||'123',10)

good luck

xuite, yahoo-x, google-x, dot, pixnet, programmer
----------------------------------------
支持小惡魔
BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx
LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA
知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播!
藍色小惡魔(林永傑): 臉書

文章作者 jieh2016/7/27 下午 04:36:38
applause   Re: 用 SQL 把數字補 0
pixnet 50175846

2016/7/27:i=4507+p=129
2021/12/15:i= 11466+p=5865
----------------------------------------
支持小惡魔
BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx
LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA
知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播!
藍色小惡魔(林永傑): 臉書