当前位置:网站首页>SQL function TRIM
SQL function TRIM
2022-08-02 11:35:00 【User 7741497】
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 Trimmed
abcxxx
以下示例均删除了“xxxabcxxx”
开头和结尾的字符“x”
,结果为“abc”
.第一个指定 BOTH
,第二个将 BOTH
作为默认值:
SELECT TRIM(BOTH 'x' FROM 'xxxabcxxx') AS Trimmed
abc
SELECT TRIM('x' FROM 'xxxabcxxx') AS Trimmed
abc
以下示例从“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 Trimmed
FROM Sample.Person WHERE FavoriteColors IS NOT NULL
边栏推荐
- Failed to configure mysql, what's going on?
- Failure Analysis | A SELECT statement crashes MySQL, what happened?
- Metaverse "Drummer" Unity: Crazy expansion, suspense still exists
- JSP中如何正确的填写include指令中的file路径呢?
- Several reasons why applet plugins benefit developers
- [kali-information collection] (1.9) Metasploit + search engine tool Shodan
- 情景剧《重走长征路》上演
- 一体化在线政务服务平台,小程序容器技术加速建设步伐
- The sitcom "Re-Walking the Long March" was staged
- SQL 经典50题(题目+解答)(1)
猜你喜欢
C#/VB.NET to add more lines more columns image watermark into the Word document
基于深度学习的裂缝检测技术
CCF paper conference IEEE how to query all articles of a conference journal
Mysql transaction isolation level and MVCC (multi-version concurrency control)
sqli-labs(less-11)
ssm web page access database data error
C#为listview选中的项添加右键菜单
X86函数调用模型分析
npm WARN config global `--global`, `--local` are deprecated. Use `--location解决方案
How to connect TDengine through DBeaver?
随机推荐
Oracle 19c 连接PDB
19、商品微服务-srv层实现
放苹果(暑假每日一题 13)
Jest 测试框架 beforeEach 的设计原理解析
sva assertion data
LeetCode笔记:Weekly Contest 304
JSP中include指令的功能简介说明
【kali-信息收集】(1.9)Metasploit+搜索引擎工具Shodan
Crack detection technology based on deep learning
多线程(基础) - 4万字总结
借小程序容器打造自有App小程序生态
腾讯云云函数SCF—入门须知
您应该知道的 Google Sheets 使用技巧
Getting Started with Three.JS Programmatic Modeling
使用kubesphere图形界面创建一个应用操作流程
暑期总结3
如何在 UE4 中制作一扇自动开启的大门
LeetCode每日一练 —— 225. 用队列实现栈
一体化在线政务服务平台,小程序容器技术加速建设步伐
打破千篇一律,DIY属于自己独一无二的商城