SQLserver2000字符串函数 .

2012-05-22 10:33:05  阅读 3676 次 评论 0 条

字符串函数简介


字符串函数对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

本文地址:https://jinesc.net/?id=13
版权声明:本文为原创文章,版权归 jinesc 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?