在字串左側或右側以特定字元集(set)填補至指定長度(n)。
指令說明:
ORACLE: 提供LPAD、RPAD函數,可指定於在字串左側或右側以特定字元集(set)填補至指定字元數(n,長度),如未指定填補字元集,預設值為空白。其語法如下:
語法
|
說明
|
LPAD(str, n [,set])
|
字串(str)左側以特定字元集(set)填補至指定字元數(n,長度)
|
RPAD(str, n [,set])
|
字串(str)右側以特定字元集(set)填補至指定字元數(n,長度)
|
範例: 字串「123」以左補「0」至長度5,及右補空白至長度5。
SELECT LPAD('123',
5, '0')
, RPAD('123', 5)
FROM DUAL
------------ --------
結果: 00123 [123 ]
(註: 中括號僅為清楚呈現) |
MSSQL
語法
|
說明
|
REPLICATE(str, n)
|
傳回重複產生n個特定字元(str)。
|
SPACE(n)
|
傳回n個空白字元,為REPLICATE函數特例。
|
FORMATMESSAGE('%[-][0]ns', str)
(2016版)
|
訊息格式化,可左側/右側填補空白或「0」字元至指定長度(n:1~9, 0與空白為填補字元, 負號代表右側填補)。
|
範例: 產生5個字元「0」的字串及5個空白
SELECT REPLICATE('0', 5)
, SPACE(5)
, FORMATMESSAGE('%5s', '')
------------ -------- ---------
結果:
00000 [ ] [ ]
(註: 中括號僅為清楚呈現) |
範例:
ORACLE
|
MSSQL
|
|
左側補0至長度5
00123
|
SELECT LPAD('123', 5, '0')
FROM DUAL
|
SELECT RIGHT(REPLICATE('0', 5) + '123', 5 )
, FORMATMESSAGE ('%05s', '123')
|
右側補空白至長度5
[ABC ]
|
SELECT RPAD('ABC', 5)
FROM DUAL
|
SELECT LEFT('ABC' + SPACE(5) , 5)
, FORMATMESSAGE('%-5s', 'ABC')
註:
負號(-)代表右填補
|
本文中參考其他文章函數,可延伸閱讀:
函數
|
資料庫
|
延伸閱讀
|
FORMATMESSAGE
|
MSSSQL2016
|
|
RIGHT / LEFT
|
MSSQL
|
沒有留言:
張貼留言