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

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

Аналог NVL [D5, Paradox]


Gurban ©   (2002-08-07 17:18:00) 

Приветствую всех!
Есть таблица Paradox, делаю выборку, некоторые поля таблицы is null.
Как мне выразиться в запросе чтобы написать вместо null своё значение.
Как, к примеру, в Оракле.
select nvl(name,"Имя не указано") from client


Val   (2002-08-08 11:00:00) [1]

>ЮЮ © (08.08.02 05:09)
подзапрос кладется..
интересное решение, хотя не особо хорошее на вскидку - таскать с собой текстовые файлы ... :(
Я попробовал потестировать это:
для таблички orders.db(id,nk,quantity) в SQL Explorer"e пишу текст:
insert into orders
select * from
"subquery.txt"

в той же директории, где и orders.db, лежит файл subquery.txt с таким текстом:
select 5 as id, 5 as nk, max(quantity) from orders

Итог: SQL Script Error-Queries on text or ascii tables is not supported!
????? кто неправ, если я, то в чем?


relict   (2002-08-08 08:14:00) [2]

ЮЮ текстовое поле может быть NULL запросто...

я сталкивался с такой проблемой но на MSQL 2000
делал так

select
case when ( <имя_поля> is NULL ) then "Имя не указано"
else <имя_поля> end <имя как надо обозвать>
from <table_name>


ЮЮ   (2002-08-08 05:09:00) [3]

>для Local SQL и вложеные запросы-то проблема
Уже обсуждалось и проверено: не проблема:
подзапрос кладется в текстовый файл а в запросе имя таблицы=имени файла

Вряд ли "Имя не указано" информативнее пустого значения, к тому же текстовые поля, по моему, не могут принимать значения Null


sniknik   (2002-08-07 19:05:00) [4]

можно использовать ADO - Jet для доступа к Paradox там возможностей побольше будет чем в Local SQL. (MSSQL по понятным причинам не подходит скорей всего?)
вот как в нем решается
SELECT IIF(ISNULL(CLSTNM), CLSTNM, 90) , * FROM RT
а с Local SQL обломс. хотя может и есть какой изврат если кто знает просветите, интересно.


Val   (2002-08-07 17:33:00) [5]

>Gurban © (07.08.02 17:31)
для Local SQL и вложеные запросы-то проблема, а вы от него подобия оракловсих возможностей хотите.


Gurban   (2002-08-07 17:31:00) [6]

А если это будет select для insert"а, так не пойдёт.
Может кто нибудь сталкивался с подобной проблемой?


Val   (2002-08-07 17:24:00) [7]

выразиться-то можно как угодно и даже покрепче, но не поможет :(
Придется обрабатывать в OnGetText полей.


Наверх

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