文章目录

  • 第149章 SQL函数 TRIM
  • 大纲
  • 参数
  • 描述
  • 要剥离的字符
  • 示例

第149章 SQL函数 TRIM

字符串函数,它返回删除了指定的前导和/或尾随字符的字符串。

大纲

TRIM([end_keyword] [characters FROM] string-expression)

参数

  • end_keyword - 可选 — 一个关键字,指定要剥离的字符串表达式的哪一端。可用值为 LEADINGTRAILINGBOTH。默认为两者。
  • characters - 可选 — 一个字符串表达式,指定要从字符串表达式中删除的字符。指定字符的每个实例都从指定的末端被剥离,直到遇到此处未指定的字符。因此TRIM(BOTH 'ab' FROM 'bbbaacaaa') 返回 ‘c’。在此示例中,BOTH 关键字是可选的。如果未指定字符,TRIM 会去除空格。如果指定了字符,则需要 FROM 关键字。如果指定了 end_keyword 而未指定字符,则允许使用 FROM 关键字(但不是必需的)。如果没有指定这些参数,则不允许使用 FROM 关键字。
  • string-expression - 要剥离的字符串表达式。字符串表达式可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR2)。如果省略了字符和 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 修剪尾随空白。

要使用前导或尾随空格或其他字符填充字符串,请使用 LPADRPAD

可以使用 LENGTH 函数来确定是否已从字符串中删除或添加空格。

要剥离的字符

  • 所有字符:如果字符包含 string-expression 中的所有字符,则 TRIM 返回一个空字符串。

  • 单引号字符:如果单引号字符在字符和字符串表达式中都是双引号,则Trim可以删减这些字符。因此,TRIM(BOTH 'a''b' FROM 'bb''ba''acaaa''')返回’c‘

  • 空格:如果省略字符,TRIM 会从字符串表达式中修剪空格。如果指定了字符,则必须包含空格字符以去除空格。

  • %List:如果 string-expression%ListTRIM 只能修剪尾随字符,不能修剪前导字符。这是因为 %List 包含前导编码字符。必须将 %List 转换为字符串才能将 TRIM 应用于前导字符。

  • NULL:如果任一字符串表达式为 NULLTRIM 将返回 NULL

示例

以下示例使用 end_keywordcharacters 默认值;它从“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相关推荐

  1. 第九十三章 SQL函数 LTRIM

    文章目录 第九十三章 SQL函数 LTRIM 大纲 参数 描述 示例 第九十三章 SQL函数 LTRIM 字符串函数,它返回一个删除了前导空格的字符串. 大纲 LTRIM(string-express ...

  2. 第122章 SQL函数 RTRIM

    文章目录 第122章 SQL函数 RTRIM 大纲 参数 描述 示例 第122章 SQL函数 RTRIM 字符串函数,它返回一个删除了尾随空格的字符串. 大纲 RTRIM(string-express ...

  3. 第121章 SQL函数 RPAD

    文章目录 第121章 SQL函数 RPAD 大纲 参数 描述 示例 第121章 SQL函数 RPAD 字符串函数,它返回一个右填充到指定长度的字符串. 大纲 RPAD(string-expressio ...

  4. 第四十六章 SQL函数 DAY

    文章目录 第四十六章 SQL函数 DAY 大纲 参数 描述 第四十六章 SQL函数 DAY 返回日期表达式的月份日期的日期函数. 大纲 DAY(date-expression){fn DAY(date ...

  5. 第153章 SQL函数 UCASE

    文章目录 第153章 SQL函数 UCASE 大纲 参数 描述 示例 第153章 SQL函数 UCASE 将字符串中的所有小写字母转换为大写字母的大小写转换函数. 大纲 UCASE(string-ex ...

  6. 第二十四章 SQL函数 CEILING

    文章目录 第二十四章 SQL函数 CEILING 大纲 参数 描述 示例 第二十四章 SQL函数 CEILING 数值函数,返回大于或等于给定数值表达式的最小整数. 大纲 CEILING(numeri ...

  7. 第九十五章 SQL函数 MINUTE

    文章目录 第九十五章 SQL函数 MINUTE 大纲 参数 描述 示例 第九十五章 SQL函数 MINUTE 返回日期时间表达式的分钟的时间函数. 大纲 {fn MINUTE(time-express ...

  8. 第130章 SQL函数 SQRT

    文章目录 第130章 SQL函数 SQRT 大纲 参数 描述 示例 第130章 SQL函数 SQRT 返回给定数值表达式的平方根的数值函数. 大纲 SQRT(numeric-expression){f ...

  9. 第二十三章 SQL函数 CAST(二)

    文章目录 第二十三章 SQL函数 CAST(二) 转换位值 示例 第二十三章 SQL函数 CAST(二) 转换位值 可以将expr值转换为BIT以返回0或1. 如果expr为1或任何其他非零数值,则返 ...

最新文章

  1. 移植opencv2.4.9到itop4412开发板
  2. 5G NGC — UE 的二次鉴权(Secondary Authentication)方案
  3. LINUX下的gdb调试方法
  4. 一对一关联查询注解@OneToOne的实例详解
  5. Senparc.Weixin.MP SDK 微信公众平台开发教程(十):多客服接口说明
  6. python实现给定一个列表,输出由各个位置除了自身元素外所有元素乘积组成的列表
  7. Vue在线预览word
  8. NOIP2016排名(1~745)
  9. Statements must be separated by newlines or semicolons
  10. Mac上word无响应且内容未保存后强制退出后恢复内容方法
  11. JS ShadowDOM组件修改样式,添加事件
  12. 图片上传返回淘宝链接
  13. Exchange 2010环境部署2
  14. ubuntu安装配置NFS
  15. 坑向总结 | 树莓派调用打印机打印
  16. Network Trimming: 数据指导的神经剪枝方法
  17. 3蛋白wb_有这3个工具!蛋白实验不愁!
  18. 如何将lvm卷移动到另一台服务器中
  19. bugku 杂项 图穷匕见 wp
  20. python的f是什么意思_%f在python中什么意思

热门文章

  1. 转贴汪应果先生的“全球华人应该向大陆中国人学什么?”
  2. requests使用socks代理
  3. java ocx调用_Java调用ocx控件以及dll
  4. 2017第三届美亚杯全国电子数据取证大赛团队赛write up
  5. maven打包之胖包与瘦包
  6. python推箱子代码详细讲解_Python使用tkinter模块实现推箱子游戏
  7. mysql动态规划_关于动态规划的描述,不正确的是( )
  8. 奶爸日记12 - 小鱼儿
  9. 畅购商城canal依赖(超级简单,不会你来kan我!!)
  10. 【好书推荐】第一本无人驾驶技术书