SQL TRIM(), RTRIM(), LTRIM() Function 函數
SQL 的 TRIM() 函數是用來刪除字串的頭 (leading) 或尾 (trailing) 的字元,常用來移除字首或字尾的空白字元 (whitespace)。
TRIM() 移除前後空白字元
MySQL
語法 (syntax)
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr FROM] str)
TRIM() 會返回一個新的字串,其中:
str
是要處理的字串 (欄位名稱)remstr
是你要刪除的字元,如果沒有指定,預設是刪除掉空白字元LEADING
,TRAILING
,BOTH
用來指定要刪除開頭的字元、結尾的字元或頭尾都刪除,預設值是BOTH
用法範例 (Example)
刪除前後空白:
SELECT TRIM(' bar ');
'bar'
刪除字串開頭的 x:
SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');
'barxxx'
刪除字串前後的 x (BOTH 可以省略):
SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');
'bar'
刪除字尾的 xyz:
SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');
'barx'
SQL Server
語法 (syntax)
TRIM([ characters FROM ] string)
TRIM() 會返回一個新的字串,其中:
string
是要處理的字串characters
是說你要刪除字串前後的這些字元,預設是刪除掉空白字元
用法範例 (Example)
刪除前後空白:
SELECT TRIM( ' test ') AS Result;
'test'
指定刪除字串前後的某些字元:
SELECT TRIM( '.,! ' FROM '# test .') AS Result;
'# test'
Oracle PL/SQL
語法 (syntax)
TRIM([ [ LEADING | TRAILING | BOTH ] trim_character FROM ] trim_source)
TRIM() 會返回一個新的字串,其中:
trim_source
是要處理的字串trim_character
是你要刪除的字元,如果沒有指定,預設是刪除掉空白字元。注意:trim_character 只能是單個字元LEADING
,TRAILING
,BOTH
用來指定要刪除開頭的字元、結尾的字元或頭尾都刪除,預設值是BOTH
用法範例 (Example)
刪除前後空白:
TRIM(' bar ')
'bar'
刪除開頭的 0:
TRIM(LEADING '0' FROM '000bar')
'bar'
刪除結尾的 1:
TRIM(TRAILING '1' FROM 'bar1')
'bar'
刪除前後的 1:
TRIM(BOTH '1' FROM '123bar111')
Result: '23bar'
RTRIM() 移除字串右側的空白字元 (remove trailing spaces)
MySQL
語法 (syntax)
RTRIM(str)
用法範例 (Example)
刪除字串結尾空白:
SELECT RTRIM('barbar ');
'barbar'
SQL Server
語法 (syntax)
RTRIM(str)
用法範例 (Example)
刪除字串結尾空白:
SELECT RTRIM('Removes trailing spaces. ');
'Removes trailing spaces.'
Oracle PL/SQL
語法 (syntax)
RTRIM(char [, trim_character_set])
用法範例 (Example)
刪除字串結尾空白:
RTRIM('barbar ')
'barbar'
除了空白,Oracle PL/SQL 還可以指定哪些結尾字元是要被刪除的:
RTRIM('123000', '0')
'123'
RTRIM('bar6372', '0123456789')
'bar'
LTRIM() 移除字串左側的空白字元 (remove leading spaces)
MySQL
語法 (syntax)
LTRIM(str)
用法範例 (Example)
刪除字串開頭的空白:
SELECT LTRIM(' barbar');
'barbar'
SQL Server
語法 (syntax)
LTRIM(str)
用法範例 (Example)
刪除字串開頭空白:
SELECT LTRIM(' Removes leading spaces.');
'Removes leading spaces.'
Oracle PL/SQL
語法 (syntax)
LTRIM(char [, trim_character_set])
用法範例 (Example)
刪除字串開頭的空白:
LTRIM(' barbar')
'barbar'
除了空白,Oracle PL/SQL 還可以指定哪些開頭字元是要被刪除的:
LTRIM('000123', '0')
'123'
LTRIM('6372bar', '0123456789')
'bar'