小豬頭寫了個補 0 的 SQL 問我怎麼跑不出來

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

隨手就弄個小 SQL 送那個小豬頭囉 只要以下這行就搞定了...

substring('0000000000', 1, 10 - len(a)) + convert(char(10), a)

所以啊... 沒有 java 想弄個補 0 其實也不難喔!!!
其他要補空白補血補鈣 請自行舉一反三 ^^

感謝 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)

arrow
arrow
    全站熱搜

    Empty 發表在 痞客邦 留言(0) 人氣()