第149章 SQL函数 TRIM
文章目錄
- 第149章 SQL函數 TRIM
- 大綱
- 參數
- 描述
- 要剝離的字符
- 示例
第149章 SQL函數 TRIM
字符串函數,它返回刪除了指定的前導和/或尾隨字符的字符串。
大綱
TRIM([end_keyword] [characters FROM] string-expression)參數
- end_keyword - 可選 — 一個關鍵字,指定要剝離的字符串表達式的哪一端。可用值為 LEADING、TRAILING 或 BOTH。默認為兩者。
- characters - 可選 — 一個字符串表達式,指定要從字符串表達式中刪除的字符。指定字符的每個實例都從指定的末端被剝離,直到遇到此處未指定的字符。因此TRIM(BOTH 'ab' FROM 'bbbaacaaa') 返回 ‘c’。在此示例中,BOTH 關鍵字是可選的。如果未指定字符,TRIM 會去除空格。如果指定了字符,則需要 FROM 關鍵字。如果指定了 end_keyword 而未指定字符,則允許使用 FROM 關鍵字(但不是必需的)。如果沒有指定這些參數,則不允許使用 FROM 關鍵字。
- string-expression - 要剝離的字符串表達式。字符串表達式可以是列名、字符串文字或另一個函數的結果,其中基礎數據類型可以表示為任何字符類型(例如 CHAR 或 VARCHAR2)。如果省略了字符和 end_keyword,則省略 FROM 關鍵字。
描述
TRIM 從提供的值的開頭和/或結尾去除指定的字符。默認情況下,去除字母是區分大小寫的。當遇到未在字符中指定的字符時,從任一端停止字符剝離。默認是從字符串表達式的兩端去除空格。
無論要修剪的輸入表達式的數據類型如何,TRIM 始終返回數據類型 VARCHAR。
請注意,在將數字提供給 TRIM 或任何其他 SQL 函數之前,它們會自動從數字中去除前導零。要保留前導零,必須將數字指定為字符串。
可選的 end_keyword 參數可以采用以下值:
- LEADING - 關鍵字,指定要從 string-expression 的開頭刪除 characters 中的字符。
- TRAILING - 關鍵字,指定要從 string-expression 的末尾刪除 characters 中的字符。
- BOTH - 關鍵字,指定要從 string-expression 的開頭和結尾刪除 characters 中的字符。 BOTH 是默認值,如果未指定 end_keyword 則使用。
或者,可以使用 LTRIM 修剪前導空白,或使用 RTRIM 修剪尾隨空白。
要使用前導或尾隨空格或其他字符填充字符串,請使用 LPAD 或 RPAD。
可以使用 LENGTH 函數來確定是否已從字符串中刪除或添加空格。
要剝離的字符
-
所有字符:如果字符包含 string-expression 中的所有字符,則 TRIM 返回一個空字符串。
-
單引號字符:如果單引號字符在字符和字符串表達式中都是雙引號,則Trim可以刪減這些字符。因此,TRIM(BOTH 'a''b' FROM 'bb''ba''acaaa''')返回’c‘。
-
空格:如果省略字符,TRIM 會從字符串表達式中修剪空格。如果指定了字符,則必須包含空格字符以去除空格。
-
%List:如果 string-expression 是 %List,TRIM 只能修剪尾隨字符,不能修剪前導字符。這是因為 %List 包含前導編碼字符。必須將 %List 轉換為字符串才能將 TRIM 應用于前導字符。
-
NULL:如果任一字符串表達式為 NULL,TRIM 將返回 NULL。
示例
以下示例使用 end_keyword 和 characters 默認值;它從“abc”中刪除前導和尾隨空格。選擇項將“^”連接到字符串的兩端以顯示空白。
SELECT '^'||' abc '||'^' AS UnTrimmed,'^'||TRIM(' abc ')||'^' AS Trimmed^ abc ^ ^abc^以下示例都是從字符串表達式中去除前導空格的有效語法:
SELECT TRIM(LEADING ' abc '),TRIM(LEADING FROM ' def '),TRIM(LEADING ' ' FROM ' ghi ')abc def ghi以下示例從字符串“xxxabcxxx”的開頭刪除字符“x”,得到“abcxxx”:
SELECT TRIM(LEADING 'x' FROM 'xxxabcxxx') AS Trimmedabcxxx以下示例均刪除了“xxxabcxxx”開頭和結尾的字符“x”,結果為“abc”。第一個指定 BOTH,第二個將 BOTH 作為默認值:
SELECT TRIM(BOTH 'x' FROM 'xxxabcxxx') AS Trimmedabc SELECT TRIM('x' FROM 'xxxabcxxx') AS Trimmedabc以下示例從“abcxzzxyyyyz”的末尾刪除字符“xyz”的所有實例,從而產生“abc”:
SELECT TRIM(TRAILING 'xyz' FROM 'abcxzzxyyyyz') AS Trimmed.abc下面的示例去掉FirstName中的所有字母,返回前面有空格的姓氏,從而修剪FullName。例如FirstName/Fullname‘fred’/‘fred Rogers’返回‘Rogers’。在本例中,FirstName‘Annie’將從LastName中去掉‘Ann’、‘Anne’、‘Ani’、‘Ain’、‘Annee’或‘Annie’,但不會完全去掉‘Anna’,因為Trim區分大小寫;只會去掉‘A’,而不是‘a’。
SELECT TRIM(LEADING FirstName FROM FullName) FROM Sample.Person以下示例從FavoriteColors值中刪除前導字母"B"或"R"。請注意,必須將列表轉換為字符串,才能對前導字符應用剪裁:
SELECT TOP 15 Name,FavoriteColors,TRIM(LEADING 'BR' FROM $LISTTOSTRING(FavoriteColors)) AS TrimmedFROM Sample.Person WHERE FavoriteColors IS NOT NULL總結
以上是生活随笔為你收集整理的第149章 SQL函数 TRIM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity3d下载大型文件并显示进度
- 下一篇: trim()函数的用法