假如有一张学生表,表中学生姓名是学生的中文名(英文名),如何获取括号中的英文名称。
需要用到两个SQL函数的配合,一个是PATINDEX()函数或者charindex()函数,一个是substring()函数
PATINDEX()函数
1.概念:
patindex是用于返回指定模式开始位置的一个函数,其中,模式是可以包含通配符的字面字符串。开始位置从1开始算起,当知道模式中的字符串存在于表达式中时,会返回第一次出现的位置。如果不存在,返回数字0.
2.格式:
语法格式:PATINDEX ( ‘%pattern%’ , expression )
说明:
- pattern:是用于检测的字符串
- expression是一个表达式,可以是任意有效的数据类型,pattern会用在expression表达式中进行检测,存在就返回第一次出现的位置,不存在就返回0,下标位置从1开始。
3.具体格式:
PATINDEX ( ‘%pattern%’ , expression ):指定字符串前后模糊查询
charindex()函数
charindex()函数与PATINDEX()函数的作用是一致的,都是返回字符或者字符串在另一个字符串中的起始位置。它们的区别是PATINDEX 可使用通配符,而 CHARINDEX 不可以。
SUBSTRING函数
1.概念
SUBSTRING () 函数用于从文本字段中提取字符。
2.格式
SUBSTRING(column_name,start,length)
说明:
- column_name为要进行提取字符的列
- my_column_name为自定义结果要显示的名称
- start为开始截取的位置(1为第一个字符,截掉0个字符)
- length为截取字符后所要返回的剩余字符长度
这两个函数配合就得到我们需要的内容了
到此这篇关于sqlserver查找括号()中字符串内容的方法实现的文章就介绍到这了,更多相关sqlserver查找括号中字符串内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!