перевод запроса с *mdb на SQL Server

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
abc
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 09.07.2004 (Пт) 17:31
Откуда: Kiev

перевод запроса с *mdb на SQL Server

Сообщение abc » 05.08.2004 (Чт) 9:58

Из VB 6.0 я обращался к б.д. *mdb через запрос, после перевоба б.д. на SQL Server, запрос выдает синтаксическую ощибку.

SELECT iif(isnull(TumCof), AkcOdr, TumCof) AS DT FROM WNIO

isnull - требует второй аргумент. Какой?
iif - вообще не поддерживается, на что можно заменить?

Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Сообщение Leon_ » 05.08.2004 (Чт) 10:03

Да, IsNull в запросах к SQL Server имеет другой формат. Похожая тема обсуждалась в http://bbs.vbstreets.ru/viewtopic.php?t=8462, посмотри там.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.08.2004 (Чт) 10:41

используй CASE вместо IIF

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 05.08.2004 (Чт) 11:55

Leon_ писал(а):Да, IsNull в запросах к SQL Server имеет другой формат
...

И другой смысл - он просто возвращает второй аргумент, если первый - NULL.
IIF работает только в Analysis Services, в самом транзакте его нет. Либо используй IF.... ELSE, либо, действительно, CASE. А вообще там порядочно отличий, рекомендую почитать что-нить, типа Books Online, например...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList