Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Конкатенация строк в SQL-запросе, если одна из них NULL [D6, ADO+MS Jet 4.0]


Rem ©   (2003-06-08 20:16:00) 

Конкретнее:

Есть таблица работников с полями Фамилия, Имя, Отчество
Обязательное поле - Фамилия
Ввод данных в поля Имя и Отчество не обязателен.
Таким образом, эти два поля могут быть NULL.

Проблема возникает при запросе типа:
SELECT
Фамилия + " " + Имя + " " + Отчество
FROM
ТаблицаРаботников
При этом, если Имя и/или Отчество пустые - то строка вообще не возвращается, будто бы в таблице и Фамилии нет!

При этом следующий запрос работает корректно (само собой разумеется), возвращая Фамилию и, если есть, Имя с Отчеством:
SELECT
Фамилия, Имя, Отчество
FROM
ТаблицаРаботников

Вот и что делать-то?

И еще: где бы раздобыть хорошую документацию по MS Jet SQL?


Rem   (2003-06-08 20:38:00) [1]

to sniknik ©

Благодарю!


sniknik   (2003-06-08 20:31:00) [2]

запрос попробуй так
SELECT
[Фамилия]+" "+
iif(IsNull([Имя ]), "", [Имя ])+" "+
iif(IsNull([Отчество]), "", [Отчество])
FROM
[ТаблицаРаботников]

> где бы раздобыть хорошую документацию по MS Jet SQL?
поищи у себя на машине JETSQL40.CHM, если офис стоит найдеш. (и там что рядом в папке все связано)


Наверх

Титульная страница Поиск, карта сайта Написать письмо