Mysql SQL:查找包含短语的行,不考虑大小写
以下是我正在使用的数据库: 列出CS部门的部门和学者总数,以 部门名称的字母顺序。CS部门是指其部门名称为 包含大写或小写的短语“计算机…科学”或“计算…科学” 小写字母。必须使用自然联接运算符。 我试图回答这个问题:Mysql SQL:查找包含短语的行,不考虑大小写,mysql,sql,natural-join,Mysql,Sql,Natural Join,以下是我正在使用的数据库: 列出CS部门的部门和学者总数,以 部门名称的字母顺序。CS部门是指其部门名称为 包含大写或小写的短语“计算机…科学”或“计算…科学” 小写字母。必须使用自然联接运算符。 我试图回答这个问题: SELECT deptnum FROM academic NATURAL JOIN department WHERE UPPER(deptname) LIKE ('%computer science%') OR UPPER(deptname) LIKE ('%computing
SELECT deptnum
FROM academic NATURAL JOIN department
WHERE UPPER(deptname) LIKE ('%computer science%') OR UPPER(deptname) LIKE
('%computing science%')
ORDER BY deptnum;
它总是没有价值,我不确定我做错了什么
多谢各位
编辑:
谢谢大家。这就是我现在使用的(尽管效率低下):
MySQL中的
LIKE
操作符已经不区分大小写,因此以下应该可以工作:
SELECT deptnum
FROM academic
NATURAL JOIN department
WHERE deptname LIKE '%computer%' OR deptname LIKE '%computing science%'
ORDER BY deptnum;
我们可以使用REGEXP
,这也是不区分大小写的:
SELECT deptnum
FROM academic
NATURAL JOIN department
WHERE deptname REGEXP 'computer|computing science'
ORDER BY deptnum;
跳转到
sqlfiddle.com
或rextester.com
UPPER(deptname)LIKE('%COMPUTER%')或UPPER(deptname)LIKE('%COMPUTING SCIENCE%')
,因为您希望与大写字母匹配您的数据库(谷歌驱动链接)需要访问权限,在帖子链接到itI之前共享它我用一个可共享的链接更新了我的原始帖子:@maSTAShuFu谢谢你的帮助,但是我遗漏了一些问题。它似乎没有输出诸如“计算机与信息科学学院”之类的部门名称,尽管它包含“计算机科学”
SELECT deptnum
FROM academic
NATURAL JOIN department
WHERE deptname REGEXP 'computer|computing science'
ORDER BY deptnum;