|
Программирование >> Преобразование значений null
Решение Используйте оператор LIKE в сочетании с оператором подстановки SQL ( % ): 1 select ename, job 2 from emp 3 where deptno in (10,20) 4 and (ename like or job like %ER) Хотя CASE и позволяет производить преобразование NULL значений в не-NULL значения, использование COALESCE, как видно из примеров, отличается простотой и лаконичностью. Поиск по шаблону Задача Требуется выбрать строки, соответствующие определенной подстроке или шаблону. Рассмотрим следующий запрос и результирующее множество: select ename, job from emp where deptno in (10,20) ENAME JOB SMITH CLERK JONES MANAGER CLARK MANAGER SCOTT ANALYST KING PRESIDENT ADAMS CLERK FORD ANALYST MILLER CLERK Из служащих отделов 10 и 20 требуется выбрать только тех, в имени которых встречается буква I или чье название должности заканчивается на ER : Обсуждение При использовании в операции сопоставления с шаблоном LIKE оператор % выбирает любую последовательность символов. Во многих реализациях SQL также предоставляется оператор подчеркивания ( ) для выбора одного символа. Возвращение любой строки, содержащей I (в любом месте), обеспечивается заключением шаблона поиска I в операторы % . Если шаблон поиска не заключен в % , результаты запроса зависят от местоположения % . Например, чтобы найти названия должностей, заканчивающиеся на ER , оператор % ставится перед ER . Если требуется найти все должности, начинающиеся с ER , % должен следовать после ER . Сортировка результатов запроса Данная глава посвящена настройке представления результатов запросов. Понимая, как управлять и изменять результирующие множества, можно обеспечивать более удобный для чтения и понятный вывод данных. Возвращение результатов запроса в заданном порядке Задача Требуется представить имена, должности и заработные платы служащих 10-го отдела и упорядочить их соответственно заработным платам (от наименьшей к наибольшей). Необходимо получить следующее результирующее множество: ENAME MILLER CLERK 1300 CLARK MANAGER 2450 KING PRESIDENT 5000 Решение Используйте оператор ORDER BY: 1 select ename,job,sal 2 from emp 3 where deptno = 10 4 order by sal asc
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |