假如有一张学生表,表中学生姓名是学生的中文名(英文名),如何获取括号中的英文名称。
需要用到两个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为截取字符后所要返回的剩余字符长度
这两个函数配合就得到我们需要的内容了
版权声明:除特别声明外,本站所有文章皆是本站原创,转载请以超链接形式注明出处!