Oracle SQL LIKE查询

时间:2016-08-20 08:05:26

标签: sql oracle

我是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找到随机字符串的命令,并显示该字符串在列中出现的次数。

3 个答案:

答案 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%';