powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сравнение дат и case в запросе
7 сообщений из 7, страница 1 из 1
Сравнение дат и case в запросе
    #33416357
Plux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте все!!!
Помогите пожалуйста с запросом. Проблема такая: в таблице есть поле Srok, означающее предположительную дату закрытия заявки, Datzakr, непосредственная дата закрытия заявки. Задача в том чтобы отобразить простроченные заявки, т.е. если Datzakr isnull, тогда Srok сравнивается с текущей датой, а если Datzakr заполнена, то Srok сравнивается с Datzakr.

Пишу так:
select * from zayav where kodzayav=2
and CONVERT ( smalldatetime , srok,11) <
CONVERT ( smalldatetime , case a.datzakr when null then getdate() else a.datzakr end,11)
Ничего не выводит, хотя вроде должен.... что не так???
...
Рейтинг: 0 / 0
Сравнение дат и case в запросе
    #33416382
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсенм понятно.
Лучше приведите несколько записей и конечный результат.
А так, на первый взгляд, непонятно (описка или нет) в запросе в условии используется алисас "а", а откуда он и что из себя представляет не понятно
...
Рейтинг: 0 / 0
Сравнение дат и case в запросе
    #33416384
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсенм понятно.
Лучше приведите несколько записей и конечный результат.
А так, на первый взгляд, непонятно (описка или нет) в запросе в условии используется алисас "а", а откуда он и что из себя представляет не понятно
...
Рейтинг: 0 / 0
Сравнение дат и case в запросе
    #33416389
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, девушка, вы спрашиваете не в том форуме.
Код: plaintext
1.
2.
select * from zayav where kodzayav= 2  
and CONVERT ( smalldatetime , srok, 11 ) < CONVERT ( smalldatetime , isnull(datzakr, getdate()), 11 )
...
Рейтинг: 0 / 0
Сравнение дат и case в запросе
    #33416394
Plux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot непонятно (описка или нет) в запросе в условии используется алисас "а", а откуда он и что из себя представляет не понятно

Да это описка, дело в том, что в запросе используются данные и из других таблиц, так чтоб Вам голову лишним не забивить, оставила этот кусочек. Алиас а. это от таблицы zayav, она в данном случае главная. Т.е. получается так:
select * from zayav a where kodzayav=2
and CONVERT ( smalldatetime , srok,11) <
CONVERT ( smalldatetime , case a.datzakr when null then getdate() else a.datzakr end,11)

kodzayav- это просто дополнительный указатель, можно обойтись и без него. Главная, проблема с case-сом, по книжке должно сработать, а не хочет(((
...
Рейтинг: 0 / 0
Сравнение дат и case в запросе
    #33416596
Plux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Melkiades, помогло. Но почему вы решили, что я спрашиваю не на том форуме?
В какой же мне тогда надо если я работаю с Visual Basic?
...
Рейтинг: 0 / 0
Сравнение дат и case в запросе
    #33416685
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PluxСпасибо Melkiades, помогло. Но почему вы решили, что я спрашиваю не на том форуме?
В какой же мне тогда надо если я работаю с Visual Basic?
У вас же были проблемы с запросом к SQL-серверу? Про VB в вашем сообщении я не вижу ни слова.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сравнение дат и case в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]