Форум: "Базы";
Текущий архив: 2003.03.03;
Скачать: [xml.tar.bz2];
ВнизЯзык по SQL и может быть по Интербейсу... Найти похожие ветки
← →
БАА (2003-02-12 23:40) [0]select isnull(Code, "()"), Phone from clientphones...аналог этого же самого в Интербейс 5.х, ошибка на неизвестную команду...Или хотя бы вариант конкатенции двух строк, одна из которых пустая. Пример:
select "(" || Code || ")" || PHONE from clientphones,
где одна из строк может быть пустой(вернее null)...Спасибо за сотрудничество
← →
kaif (2003-02-13 02:13) [1]В IB нет встроенных функций. Можно функцию isnull написать для UDF (свою dll сделать). ИМХО, это наилучший выход.
← →
OlegN (2003-02-14 00:11) [2]Ну допустим что встроенных функций нет, но вот IS [NOT] NULL все таки есть, только пишется раздельно :-)
Здесь насколько я понял проблема у IB именно в пустой строке...
Если строки не пустые, то "(" || Code || ")" сработает, а вот с пустой мне так и не удалось решить - в результате всегда получаем пустую строку
← →
AlexSerp (2003-02-14 08:56) [3]А напишите процедурку, где и сравнивайте на 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
Саня
← →
perov (2003-02-14 09:22) [4]или переходить на более новые версии, там есть функция iif
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c