字符串函数简介
字符串函数对N进制数据、字符串和表达式执行不同的运算。此类函数作用于char、varchar、binary和varbinary数据类型以及可以隐式转换为char或varchar的数据类型。通常字符串函数可以用在sql语句的表达式中。
字符串函数如表1所示。
表1 字符串函数
函数名称 说明描述
ASCII 返回字符表达式最左端字符的ASCII代码值
CHAR 将int ASCII代码转换为字符值
CHARINDEX 返回字符串中指定表达式的起始位置
DIFFERENCE 以整数返回两个字符表达式的SOUNDEX值之差
LEFT 从左边开始,取得字符串左边指定个数的字符
LEN 返回指定字符串的字符(而不是字节)个数
LOWER 将指定的字符转换为小写
LTRIM 清除指定字符串左边的空格
NCHAR 用给定的整数代码返回Unicode字符
PATINDEX 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零
REPLACE 将指定的字符串替换为另一指定的字符串
QUOTENAME 返回带有分隔符的Unicode字符串,分隔符的加入可使输入的字符串成为有效的sql Server分隔标识符
REPLICATE 以指定的次数重复字符表达式
REVERSE 返回字符表达式的反转
RIGHT 从右边开始,取得字符串右边指定个数的字符
RTRIM 清除指定字符串右边的空格
SOUNDEX 返回由四个字符组成的代码(SOUNDEX)以评估两个字符串的相似性
SPACE 返回由重复的空格组成的字符串
STR 返回由数字数据转换来的字符数据
STUFF 删除指定长度的字符,并在指定的起始点插入字符
SUBSTRING 返回指定个数的字符
UNICODE 返回输入表达式的第一个字符的整数值
UPPER 将指定的字符转换为大写
----------------------
使用LOWER(转换小写)函数
LOWER函数用于将指定的字符转换为小写。
语法:
LOWER (character_expression)
参数说明:
l character_expression:字符或二进制数据表达式。character_expression可以是常量、变量或列。
示例:
使用LOWER函数将数据字段中的数据转换为小写。程序运行结果如图1所示。
sql语句如下:
use pubs
SELECT TOP 5 job_desc FROM jobs
SELECT TOP 5 LOWER(job_desc) AS "转换为小写" FROM jobs
-----------------------------------
使用UPPER(转换大写)函数
UPPER函数用于将指定的字符转换为大写。
语法:
UPPER (character_expression)
参数说明:
l character_expression:由字符数据组成的表达式。character_expression可以是常量、变量,也可以是字符或二进制数据的列。
sql语句如下:
use pubs
SELECT TOP 5 job_desc FROM jobs
SELECT TOP 5 UPPER(job_desc) AS "转换为大写" FROM jobs
使用NCHAR函数和UNICODE函数
1.NCHAR函数
NCHAR函数用于将给定的整数代码返回Unicode字符。
语法:
NCHAR (integer_expression)
参数说明:
l integer_expression:限于0~65535之间的所有正整数。如果参数超出该范围,则返回NULL。
2.UNICODE函数
UNICODE函数用于返回输入表达式的第一个字符的整数值。
语法:
UNICODE ('ncharacter_expression')
参数说明:
l ncharacter_expression:nchar或nvarchar类型的表达式。
下面使用NCHAR函数和UNICODE函数返回指定字符的UNICODE值
sql语句如下:
DECLARE @nstring nchar(8)
SET @nstring = N'øÅbenhavn'
SELECT UNICODE(LEFT(@nstring,1)) AS "UNICODE值",
NCHAR(UNICODE(LEFT(@nstring,1))) AS "字符"
使用PATINDEX函数
PATINDEX函数用于返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
语法:
PATINDEX (%pattern%,expression)
参数说明:
l %pattern%:一个字符串,在pattern之前和之后必须有“%”字符。pattern为短字符数据类型类别的表达式。
l expression:表达式,通常为要在其中搜索指定模式的列,expression为字符串数据类型类别。
说明:该函数的使用方式与CHARINDEX基本相同。
本例将使用PATINDEX函数在“job_desc”字段中查找字符串为“Job”的起始位置。
说明:在数据字段“job_desc”中查找“Job”数据,如果查找成功则返回该数据第一次出现的位置。
sql语句如下:
USE PUBS
SELECT TOP 5 * FROM jobs
SELECT PATINDEX('%Job%',job_desc) AS "起始位置" FROM jobs
Where job_id = 1
使用REPLACE(替换字符串)函数
REPLACE函数将字符串中的子字符串替换为指定字符串。
语法:
REPLACE (string_expression1, string_expression2, string_expression3)
参数说明:
l string_expression1:待搜索的字符串表达式。
l string_expression2:待查找的字符串表达式。
l string_expression3:替换用的字符串表达式。
示例:
使用REPLACE函数替换指定的字符串。
sql语句如下:
SELECT REPLACE('sql SERVER','ER','AA') AS替换结果
说明:示例将会在字符串“sql SERVER”中查找替换的字符串“ER”,当查找成功后,并将“sql SERVER”字符串中的所有包含“ER”的字符串替换为“AA”。
使用QUOTENAME(返回带有分隔符的Unicode字符串)函数
QUOTENAME函数用于返回带有分隔符的Unicode字符串,分隔符的加入可使输入的字符串成为有效的sql Server分隔标识符。
语法:
QUOTENAME ('character_string' [,'quote_character' ])
参数说明:
l character_string:Unicode字符数据字符串。
l quote_character
发表评论