如何在sql中显示最初从K,B,A开始的名字?

时间:2017-05-28 10:01:11

标签: sql oracle oracle11g

如何在sql中显示最初从K,B,A开始的姓名?结果应该如下:-Keven,karun,Bean,Brown,Aron,Abiel

4 个答案:

答案 0 :(得分:1)

Select name_field
From yourTable
Where upper( substr( name_field, 1, 1)) in ('K', 'B', 'A') 

答案 1 :(得分:0)

使用REGEXP_LIKE,如下所示。它可以匹配正则表达式,在这种情况下这是一个更好的选择,而不是使用多个like语句。

DBFiddle Demo

select name from 
your_table t
where REGEXP_LIKE (name, '^[K|B|A]','i');

正则表达式^[K|B|A]匹配以K or B or A开头的每个单词。 i用于不区分大小写的匹配。

答案 2 :(得分:0)

您可以使用REGEX_LIKE执行此操作。

它的作用是执行正则表达式匹配而不是简单的模式匹配。

答案 3 :(得分:0)

SELECT name FROM users WHERE name LIKE 'k%' OR name LIKE 'b%' OR name LIKE 'a%' COLLATE utf8_general_ci

%匹配任何字符串,因此上述查询将匹配以b,a或k开头的任何名称。 COLLATE规则用于告诉查询它是不区分大小写的。