2016-09-09 3 views
0

Речь идет о поиске имени, начинающегося с буквы «G» в таблице сотрудников. Я использую Oracle 12c Version.Строка поиска в Oracle SQL

я наткнулся на ответ:

select * 
from employees 
where first_name >= 'G' 
    and first_name < 'H'; 

Не могли бы вы помочь мне понять логику этого.

+1

это просто сравнение строк, что означает, что '' g '<' harrison'' имеет значение TRUE, потому что 'g' предшествует' h' в алфавите. длина строк не имеет значения. символы сравниваются в шаге блокировки, как только происходит несоответствие, вы получаете результаты сравнения. –

ответ

2

Кроме того, что в настоящее время комментариев, вы можете также использовать LIKE оператора, так как вы в конечном итоге пытается получить все first_name начиная с G

select * from employees where first_name like 'G%' 
+0

Спасибо Marc & Rahul – PNG

1

Вы можете использовать регулярное выражение, а также искать ваши имена, начинающиеся с G как указано ниже:

select * from employees 
WHERE REGEXP_LIKE (first_name, '^G','i'); 

Здесь параметр 'i' будет игнорировать случай с именем.

Смежные вопросы