在数据库中,怎么查询以'计算机'开头,'基础'结尾的课程名称,学分

在数据库中,怎么查询以'计算机'开头,'基础'结尾的课程名称,学分,第1张

SQL语句

select

课程名称,学分

from

Table

where

LEFT(课程名称,3)=‘计算机’

and

RIGHT(RTrim(课程名称),2)=‘基础’

LEFT(课程名称,3)

在课程名称中从左截取3个字符。

RIGHT(RTrim(课程名称),2)

在课程名称中从右截取2个字符。

RTrim(课程名称)

去掉课程名称字段中的空格。

使用函数SUBSTRING_INDEX()根据指定分隔符切割,分隔符可以是字符串等。

语法 :substring_index(str,delim,count)

说明 :

str:被截取字符串

delim:分隔符,截取时依据的关键字,区分大小写

count:从第几个分隔符开始截取

count如果为正数,则返回第count个分隔符左侧的所有内容(从左到右截取);如果为负数,则返回第count个分隔符右侧的所有内容(从右到左截取)。

例:

(1)如果count是正数,那么就是从左往右数,第N个 分隔符 的左边的全部内容

(2) 相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,

(3)取中间的某个值

从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:

SQL语句 select 课程名称,学分 from Table where LEFT(课程名称,3)=‘计算机’ and RIGHT(RTrim(课程名称),2)=‘基础’ LEFT(课程名称,3) 在课程名称中从左截取3个字符。 RIGHT(RTrim(课程名称),2) 在课程名称中从右截取2个字符。 RTrim(课程名称) 去掉课程名称字段中的空格。

select

substr('a123456',instr('a123456','a')+1,len('a123456')-instr('a123456','a'))

from

dual

instr

返回1,

所以给它+1

从第2位开始截取到总长度-‘a’这个字符串的位置,

就是

6

所以最终会是

select

substr('a123456',2,6)

from

dual

这么写能明白吗?

以上就是关于在数据库中,怎么查询以'计算机'开头,'基础'结尾的课程名称,学分全部的内容,包括:在数据库中,怎么查询以'计算机'开头,'基础'结尾的课程名称,学分、数据库的字符串处理利器之SUBSTRING_INDEX()、数据库查询所有超过2学分且课程性质为必修的课程信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10150470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存