sqlserver2000字符串函数(上)

来源:互联网 发布:2017网络流行语 编辑:程序博客网 时间:2024/05/17 06:10

字符串函数简介

字符串函数对N进制数据、字符串和表达式执行不同的运算。此类函数作用于charvarcharbinaryvarbinary数据类型以及可以隐式转换为charvarchar的数据类型。通常字符串函数可以用在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函数

1NCHAR函数

NCHAR函数用于将给定的整数代码返回Unicode字符。

语法:

NCHAR (integer_expression)

参数说明:

l          integer_expression:限于065535之间的所有正整数。如果参数超出该范围,则返回NULL

2UNICODE函数

UNICODE函数用于返回输入表达式的第一个字符的整数值。

语法:

UNICODE ('ncharacter_expression')

参数说明:

l          ncharacter_expressionncharnvarchar类型的表达式。

下面使用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_stringUnicode字符数据字符串。

l          quote_character:用作分隔符的单字符字符串。可以是单引号(‘’)、左括号( [])、右括号([)或者双引号(“”)。

示例:

使用QUOTENAME返回带有分隔符的Unicode字符串。

sql语句如下:

SELECT QUOTENAME('abc[]def') AS 返回结果

 

使用REPLICATE(以指定的次数重复字符表达式)函数

REPLICATE函数用于以指定的次数重复字符表达式。

语法:

REPLICATE (character_expression,integer_expression)

参数说明:

l          character_expression:由字符数据组成的字母数字表达式。

l          integer_expression:正整数,指定重复次数,如果该参数为负数,则返回空字符串。

示例:

使用REPLICACE函数,将指定的数据重复两次输出。

sql语句如下:

USE 销售管理系统

SELECT REPLICATE(操作员姓名,2) AS 重复输出

FROM 操作员信息表

原创粉丝点击