数据库笔记(一)

题目:查询课程名中的第15个字符是‘理’课程信息

这道题目有好几个做法

做法一

--检索子串中从第15个字符开始数起的第一个字符为理的数据
select * from course where substring(Cname,15,1)='理'

做法二

--检索数据中‘理’的下标是15的数据
select * from course where charindex('理',Cname)=15

做法三

--检索数据中第一次出现理的下标是15的数据
select * from course where patindex('%理%',Canme)=15

做法四

--检索数据从左往右数第十五个字符,再从当前位置从右往左数一个字符是‘理’的数据
select * from course where right(left(cname,15),1)='理'

小结

PATINDEX和CHARINDEX的区别

PATINDEX函数支持使用通配符来进行搜索,然而CHARINDEX不支持通佩符
CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置
PATINDEX函数返回字符或者字符串在另一个字符串或者表达式中的起始位置
原文地址:https://www.cnblogs.com/hyj-/p/12660734.html