SQL 标量函数-----> 字符串函数 之四 字符串比较函数 CHARINDEX()、PATINDEX()、REPLICATE()、REVERSE()、REPLACE()、SPACE()、STUFF()

来源:互联网 发布:seo兼职招聘 编辑:程序博客网 时间:2024/06/05 16:20

 字符串比较函数CHARINDEX()、PATINDEX()、REPLICATE()、REVERSE()、REPLACE()、SPACE()、STUFF()

1、CHARINDEX()

返回字符串中某个指定的子串出现的开始位置。

CHARINDEX (<’substring_expression’>, )

其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。

此函数不能用于TEXT 和IMAGE 数据类型。


2、PATINDEX()
返回字符串中某个指定的子串出现的开始位置。

PATINDEX (<’%substring _expression%’>, [, quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。


3、REPLICATE()

返回一个重复character_expression 指定次数的字符串。

REPLICATE (character_expression integer_expression) 如果integer_expression 值为负值,则返回NULL 。


4、REVERSE()

将指定的字符串的字符排列顺序颠倒。

REVERSE () 其中character_expression 可以是字符串、常数或一个列的值。

 

5、REPLACE()
返回被替换了指定子串的字符串。

REPLACE (, , ) 用string_expression3 替换在string_expression1 中的子串string_expression2。


6、SPACE()
返回一个有指定长度的空白字符串。

SPACE () 如果integer_expression 值为负值,则返回NULL 。


7、STUFF()

用另一子串替换字符串指定位置、长度的子串。

STUFF (, , ,)
如果起始位置为负或长度值为负,或者起始位置大于character_expression1 的长度,则返回NULL 值。

如果length 长度大于character_expression1 中 start_ position 以右的长度,则character_expression1 只保留首字符。

 

执行:

   

  1. select charindex('bd','cabdif',0)--CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX ( expression1 , 源字符串 [ , start_location ] ) 
  2. select PATINDEX('AB%','ABCD')  --返回字符串中某个指定的子串出现的开始位置
  3. select REPLACE ('abcdefg','de','123')--返回被替换了指定子串的字符串。
  4. select REPLICATE('a',6) as REPLICATE--让'a'重复出现六次
  5. select stuff('abcdef',1,2,'ghi') as stuff--用另一子串替换字符串指定位置、长度的子串。STUFF (, , ,)
  6. select REVERSE('1234567') as REVERSE --将指定的字符串的字符排列顺序颠倒
  7. 得到结果如下:

 

原创粉丝点击