![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Язык по SQL и может быть по Интербейсу... [D5, IB5.x]
БАА © (2003-02-12 23:40:00)select isnull(Code, "()"), Phone from clientphones...аналог этого же самого в Интербейс 5.х, ошибка на неизвестную команду...Или хотя бы вариант конкатенции двух строк, одна из которых пустая. Пример:
select "(" || Code || ")" || PHONE from clientphones,
где одна из строк может быть пустой(вернее null)...Спасибо за сотрудничество
perov (2003-02-14 09:22:00) [1]или переходить на более новые версии, там есть функция iif
AlexSerp (2003-02-14 08:56:00) [2]А напишите процедурку, где и сравнивайте на NULL полученное значение.
А потом, если IS NULL , то присвойте нужной переменной пустую строку.
for select Code, PHONE
from clientphones
into :code, :phone
do begin
if (code is null) then code ="";
result ="(" || Code || ")" || phone;
end
или
for select Code, PHONE
from clientphones
into :code, :phone
do begin
if (code is null) then
result ="()" || phone;
else
result ="(" || Code || ")" || phone;
end
Саня
OlegN (2003-02-14 00:11:00) [3]Ну допустим что встроенных функций нет, но вот IS [NOT] NULL все таки есть, только пишется раздельно :-)
Здесь насколько я понял проблема у IB именно в пустой строке...
Если строки не пустые, то "(" || Code || ")" сработает, а вот с пустой мне так и не удалось решить - в результате всегда получаем пустую строку
kaif (2003-02-13 02:13:00) [4]В IB нет встроенных функций. Можно функцию isnull написать для UDF (свою dll сделать). ИМХО, это наилучший выход.