sqlserver数据库,使用substring函数截取不固定位置字符串。

sqlserver数据库,使用substring函数截取不固定位置字符串。


当我们在向页面写入数据库查询出来的数据的时候,有一些不必要的字符串,相信大家肯定会在后台的java代码中进行处理再返回到页面上。今天遇到一个无法使用后台处理的功能,只能使用sql语句来进行处理。今天记录一下,方便以后查询。
在这里插入图片描述
上面是查询出来的数据。现在想要将里面的姓名取出来,但是使用截取的话,每个人的姓名长度可能会不一样,有两个字,或者四个字都有可能。所以截取的长度也就不一样。
解决方法就是用sqlserver中charindex 函数,配合 substring来进行截取字符串。

substring(
      hv.TEXT_,
      charindex('】', hv.TEXT_) + 1,
      charindex(',', hv.TEXT_)- 5
    ) as newManager

这是截取字符串的代码。给大家解释一下什么意思:
substring:数据库中截取的函数。
hv.TEXT_:数据库表中的字段名。
charindex(’】’, hv.TEXT_) + 1,:这段代码,就是利用 charindex函数,计算出’ 】‘这个字符第一次出现位置的角标值是多少。
charindex(’,’, hv.TEXT_)-5:这是计算出 ‘,’这个字符第一次出现的角标置。
看图:
在这里插入图片描述
至于加减的操作相信大家先按照sql查询一下就会看明白。
over~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章