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

 字符串比较函数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. 得到结果如下:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值