使用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:用作分隔符的单字符字符串。可以是单引号(‘’)、左括号(?[])、右括号([]?)或者双引号(“”)。
示例:
使用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 操作员信息表