數字 | 文字 | |
畫面 | 8 | 8 |
調劑 | 8 | 0000000008 |
SELECT seqn FROM Table
SELECT REPEAT('0' 翻譯公司10-LEN(seqn)) || RTRIM(CAST(seqn AS CHAR)) FROM Table --DB2
Cast 函數:SQL資料類型的型態轉換 翻譯社
SELECT LPAD(LTRIM(CAST(seqn AS CHAR)) 翻譯公司10,'0') FROM Table --MySQL、Oracle
Replace函數:字串置換。
這個問題被同事問了n次,今天就隨手打上來 翻譯社
seqn |
2 |
5 |
6 |
7 |
SELECT REPLACE(STR(seqn) 翻譯公司' ','') FROM Table --SQLServer
seqn |
0000000002 |
0000000005 |
0000000006 |
0000000007 |
SELECT 'A' || REPEAT('0',10-LEN(seqn)) || RTRIM(CAST(seqn AS CHAR)) FROM Table --DB2
seqn |
A0000000002 |
A0000000005 |
A0000000006 |
A0000000007 |
SELECT 'A' + REPLICATE('0',10-LEN。-> 翻譯社|,-> 翻譯公司|的-> 翻譯(seqn)) + RTRIM(CAST(seqn AS CHAR)) FROM Table --SQLServer
SELECT REPLICATE('0',10-LEN(seqn)) + RTRIM(CAST(seqn AS CHAR)) FROM Table --SQLServer
但是在將這些數字型態的資料轉成文字時,其文字位元長度理論上,也會和數字型態時如出一轍。
都只是純真的0和1,也就是正和負。
SQL語法數字轉文字而且補零
LPAD:重覆填入文字至指定長度為止,僅供MySQL、Oracle、Postgre SQL。
Repeat:重覆字串函數,僅供DB2、MySQL、Postgre SQL 翻譯社
只要是電腦中 翻譯數字型態資料,不管是一般的程式變數或是貯存在資料庫的資料,其終究格局都是一樣的。
其實有n個空白存在,我們把每個空白轉換成0,就猶如調劑行所顯示的一般。
利用此理論,我們在SQL也可以做此動作 翻譯社
增補:
以下申明:
最大的不同都只差在位元 翻譯長度分歧。
Length:取得字串長度,僅供DB2、MySQL、Oracle、Postgre SQL。
Str:轉換為文字型態,並補空白至字串左方,僅供SQLServer。
SELECT 'A' . LPAD(LTRIM(CAST(seqn AS CHAR)),10 翻譯公司'0') FROM Table --MySQL、Oracle
SELECT 'A' + Replace(Str(seqn),' ','') FROM Table --SQLServer
Len:獲得字串長度,僅供SQLServer。
唯一 翻譯差異只差在型態的類型是Int照樣Int64,亦或是float 翻譯社
數字在轉換成文字後,會如上表中 翻譯畫面行所示,也是只看到一個8,但現實上在8的左手邊,(注重:有時因資料轉換分歧,而在右手邊)
Replicate:重覆字串函數,僅供SQLServer。
本篇文章引用自此: http://fireleominor.pixnet.net/blog/post/80869331-sql%e8%aa%9e%e6%b3%95%e6%95%b8%e5%ad%97%e8%bd%89%e有關翻譯的問題歡迎諮詢天成翻譯社
留言列表