Blueimp 論壇首頁
  首頁  | 討論區  | 最新話題  | 搜尋  | XML  |  登入

此話題中所有文章數: 2 [ 話題狀態: 一般 ]
上一話題 此文章已經觀看 23320 次 而且有 1 篇回應 下一話題
會員大頭照
男寶寶 jieh 《騎士團團長》
文章: 6881
v3.8.8

用 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
知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播!
藍色小惡魔(林永傑): 臉書
----------------------------------------
[編輯文章 15 次, 最後修改: jieh 於 2021/12/15 上午 04:27:44]

[2007/3/19 下午 06:37:10]   [返迴此篇文章頂端 ]  回到頂端 
會員大頭照
男寶寶 jieh 《騎士團團長》
文章: 6881
v3.8.8

Re: 用 SQL 把數字補 0

pixnet 50175846

2016/7/27:i=4507+p=129
2021/12/15:i= 11466+p=5865
----------------------------------------
支持小惡魔
BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx
LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA
知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播!
藍色小惡魔(林永傑): 臉書
----------------------------------------
[編輯文章 8 次, 最後修改: jieh 於 2021/12/15 上午 04:26:14]
[2016/7/27 下午 04:36:38]   [返迴此篇文章頂端 ]  回到頂端