我是StackOverflow的新手,对IT来说相对较新,只是学习SQL的绳索。如果我把它发布在错误的地方或者问了一个愚蠢的问题,请原谅我。
希望能得到以下问题的帮助:
我有一个Oracle数据库(使用Oracle SQL Developer来访问它)。
我正在尝试执行一个命令,似乎无法弄清楚如何从数据库中提取。我正在尝试发现包含字符串'计算机'的列( DEPTNAME )中数量的部门在他们的头衔。
我认为以下命令会给我答案,但它只返回0的值:
select count(DEPTNAME)
from Department
where DEPTNAME LIKE '%comp%';
然而,当我使用此命令时,我得到41的返回。但是这个数字并不正确。
select count(DEPTNAME)
from Department
where DEPTNAME LIKE '%c%';
我基本上只需要知道DBMS找到随机字符串的命令,并显示该字符串在列中出现的次数。
答案 0 :(得分:2)
在Oracle中,默认情况下,比较区分大小写。您可能想尝试:
select count(DEPTNAME)
from Department
where lower(DEPTNAME) LIKE '%computer%';
或者,更好的是:
{{1}}
答案 1 :(得分:1)
尝试编写计算机'全名...确保大写和小写,并确保正确写入
select count(DEPTNAME)
from Department
where DEPTNAME LIKE '%computer%';
其他'%c%'将在字符串中的任何位置返回包含c的所有单词。
答案 2 :(得分:0)
谢谢大家的回复。这给了我正在寻找的东西!这是一个区分大小写的问题:
select count(DEPTNAME)
from Department
where lower(DEPTNAME) LIKE '%comp%';