Skip to main content

字符函数

字符函数汇总。

CHAR

将 ASCII 代码int转换为字符的字符串函数。

名称类型描述
语法CHAR ( integer_expression )
参数integer_expression介于 0 和 255 之间的整数。如果整数表达式不在此范围内,将返回 NULL 值。
返回类型CHAR

示例及效果:

SELECT CHAR(65) FROM sample # 结果为 A

SELECT CHAR(13) || CHAR(10) FROM sample # 结果为回车换行

LOWER

将 ASCII 代码int转换为字符的字符串函数。

名称类型描述
语法LOWER ( character_expression )
参数character_expression是字符或二进制数据表达式。character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHAR的数据类型。否则使用CAST显式转换character_expression。
返回类型VARCHAR

示例及效果:

SELECT LOWER ('IT IS NONE OF YOU BUSINESS') FROM sample 

LEFT

返回从字符串左边开始指定个数的字符。

名称类型描述
语法LEFT ( character_expression , integer_expression )
参数character_expression是字符或二进制数据表达式。character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHAR的数据类型。否则使用CAST显式转换character_expression。
参数integer_expression指定个数,是正整数。
返回类型VARCHAR

示例及效果:

SELECT LEFT ('Take care, baby' ,2) FROM sample

LENGTH

返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。

名称类型描述
语法LENGTH ( string_expression )
参数string_expression要计算的字符串表达式。
返回类型INT说明:length('asd') sqlserver 返回3 ,其余数据返回4。

示例及效果:

SELECT LENGTH('How are you') FROM sample

LTRIM

删除起始空格后返回字符表达式。

名称类型描述
语法LTRIM ( character_expression )
参数character_expression是字符或二进制数据表达式。character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHAR的数据类型。否则使用CAST显式转换character_expression。
返回类型VARCHAR

示例及效果:

SELECT LTRIM ('Nobody loves you more than I do') FROM sample

RIGHT

返回字符串中从右边开始指定个数的 integer_expression 字符。

名称类型描述
语法RIGHT ( character_expression , integer_expression )
参数character_expression是字符或二进制数据表达式。character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHAR的数据类型。否则使用CAST显式转换character_expression。
参数integer_expression是正整数,开始返回字符串的起始位置。如果 integer_expression 为负,则根据目标数据库的环境返回相应的错误信息。
返回类型VARCHAR

示例及效果:

SELECT RIGHT('You are an apple in my eyes', 2) FROM sample

RTRIM

截断所有尾随空格后返回一个字符串。

名称类型描述
语法RTRIM ( character_expression )
参数character_expression由字符数据组成的表达式。character_expression 可以是常量,也可以是字符或二进制数据的列。
返回类型VARCHAR

示例及效果:

SELECT RTRIM ('I always laugh off setback') FROM sample

TRIM

截断所有起始或尾随空格后返回一个字符串。

名称类型描述
语法TRIM ( character_expression )
参数character_expression由字符数据组成的表达式。character_expression 可以是常量,也可以是字符或二进制数据的列。
返回类型VARCHAR

示例及效果:

SELECT TRIM ('I always laugh off setback') FROM sample

UPPER

返回将小写字符数据转换为大写的字符表达式。

名称类型描述
语法UPPER ( character_expression )
参数character_expression由字符数据组成的表达式。character_expression 可以是常量,也可以是字符或二进制数据的列。
返回类型VARCHAR

示例及效果:

SELECT UPPER('Misfortune comes on wings and depart on foot') FROM sample

REVERSE

回颠倒字符串顺序的字符串。

名称类型描述
语法REVERSE ( character_expression )
参数character_expressioncharacter_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHR的数据类型。否则使用CAST显式转换character_expression。说明:这函数在DB2、H2下不支持,oracle下不支持中文。
返回类型VARCHAR

示例及效果:

SELECT REVERSE('Take')  FROM sample  # 结果 ekat

SUBSTRING

返回字符CHAR,VARCHAR,CLOB,BLOB或具有其类型的结果表达式的一部分。

名称类型描述
语法SUBSTRING ( expression , start , length )
参数expression是字符串、字符串大对象,列或包含列的表达式。不使用包含聚合函数的表达式。
参数start是一个整数,指定子串的开始位置,开始位置必须大于等于1。
参数length是一个整数,指定子串的长度(要返回的字符数或字节数)。说明:如果在双字节字符的数据类型(text)使用SUBSTRING,可能会导致返回数据乱码或为空。
返回类型VARCHAR

示例及效果:

SELECT SUBSTRING( 'So said,so done', 1 ,10) FROM sample

CONCAT

返回连接两个字符型表达式的结果。

名称类型描述
语法CONCAT( expression1 , expression2 )
参数expression1是字符串、字符串大对象,列或包含列的表达式。不要使用包含聚合函数的表达式。
参数expression2是字符串、字符串大对象,列或包含列的表达式。不要用包含聚合函数的表达式。
返回类型VARCHAR

示例及效果:

SELECT CONCAT( 'TO nod politely is one thing ,','and to follow what you say is quite another') FROM sample

REPLACE

返回在指定的字符串中用某一字符串替换特定字符串的结果。

名称类型描述
语法REPLACE( expression1 , expression2, expression3 )
参数expression1指定的字符串。
参数expression2需要查找替换的字符串。
参数expression3替换为的字符串。
返回类型VARCHAR

示例及效果:

SELECT REPLACE('abcdefghicde','cde','xxx') FROM sample

注意:replace在MSSQL不区分大小写,其他数据库区分。

REPLACE

从字符串(source)中的指定开始位置(start),返回字符串(key)的位置。(这里的字符名与函数参数对应)限制条件:指定开始位置(start),开始位置必须大于等于1,否则报错。

名称类型描述
语法CHARINDEX( key , source,start )
参数key字符串(key)的位置。
参数source字符串(source)。
参数start指定开始位置(start),开始位置必须大于0,否则不能保证正确性。如果不能确定此值,请用case when处理。如果是常量,在java已验证,并转换为1,如果是字段或参数,则在oracle、db2环境中,start=0返回值永远是"0"。
返回类型整型最小值是"1",小于"1"表示没找到。

示例及效果:

SELECT CHARINDEX('key','abckeybcd',1) FROM sample  # 返回4。

注意:replace在MSSQL不区分大小写,其他数据库区分。