字符函数
字符函数汇总。
将 ASCII 代码int转换为字符的字符串函数。
名称 | 类型 | 描述 |
---|---|---|
语法 | CHAR ( integer_expression ) | |
参数 | integer_expression | 介于 0 和 255 之间的整数。如果整数表达式不在此范围内,将返回 NULL 值。 |
返回类型 | CHAR |
示例及效果:
SELECT CHAR(65) FROM sample # 结果为 A
SELECT CHAR(13) || CHAR(10) FROM sample # 结果为回车换行
将 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 ( 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 ( string_expression ) | |
参数 | string_expression | 要计算的字符串表达式。 |
返回类型 | INT | 说明:length('asd') sqlserver 返回3 ,其余数据返回4。 |
示例及效果:
SELECT LENGTH('How are you') FROM sample
删除起始空格后返回字符表达式。
名称 | 类型 | 描述 |
---|---|---|
语法 | LTRIM ( character_expression ) | |
参数 | character_expression | 是字符或二进制数据表达式。character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHAR的数据类型。否则使用CAST显式转换character_expression。 |
返回类型 | VARCHAR |
示例及效果:
SELECT LTRIM ('Nobody loves you more than I do') FROM sample
返回字符串中从右边开始指定个数的 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 ( character_expression ) | |
参数 | character_expression | 由字符数据组成的表达式。character_expression 可以是常量,也可以是字符或二进制数据的列。 |
返回类型 | VARCHAR |
示例及效果:
SELECT RTRIM ('I always laugh off setback') FROM sample
截断所有起始或尾随空格后返回一个字符串。
名称 | 类型 | 描述 |
---|---|---|
语法 | TRIM ( character_expression ) | |
参数 | character_expression | 由字符数据组成的表达式。character_expression 可以是常量,也可以是字符或二进制数据的列。 |
返回类型 | VARCHAR |
示例及效果:
SELECT TRIM ('I always laugh off setback') FROM sample
返回将小写字符数据转换为大写的字符表达式。
名称 | 类型 | 描述 |
---|---|---|
语法 | UPPER ( character_expression ) | |
参数 | character_expression | 由字符数据组成的表达式。character_expression 可以是常量,也可以是字符或二进制数据的列。 |
返回类型 | VARCHAR |
示例及效果:
SELECT UPPER('Misfortune comes on wings and depart on foot') FROM sample
回颠倒字符串顺序的字符串。
名称 | 类型 | 描述 |
---|---|---|
语法 | REVERSE ( character_expression ) | |
参数 | character_expression | character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHR的数据类型。否则使用CAST显式转换character_expression。说明:这函数在DB2、H2下不支持,oracle下不支持中文。 |
返回类型 | VARCHAR |
示例及效果:
SELECT REVERSE('Take') FROM sample # 结果 ekat
返回字符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( 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( expression1 , expression2, expression3 ) | |
参数 | expression1 | 指定的字符串。 |
参数 | expression2 | 需要查找替换的字符串。 |
参数 | expression3 | 替换为的字符串。 |
返回类型 | VARCHAR |
示例及效果:
SELECT REPLACE('abcdefghicde','cde','xxx') FROM sample
注意:replace在MSSQL不区分大小写,其他数据库区分。
从字符串(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不区分大小写,其他数据库区分。