Форум: "Базы";
Текущий архив: 2011.05.08;
Скачать: [xml.tar.bz2];
ВнизПроверка корректности даты в TSQL Найти похожие ветки
← →
DelphiN! (2009-11-16 12:49) [0]Доброго времени суток!
Необходимо проверить корректность даты в запросе, например :
select * from table where (field1 = "TEXT")and(IsCorrectDate("31.11.2009"))
Данный запрос не должен выводить ничего, так как даты 31.11.2009 не существует, однако к сожалению функции IsCorrectDate не существует, какая функция используется для этих целей?
← →
Sergey13 © (2009-11-16 12:52) [1]> [0] DelphiN! (16.11.09 12:49)
Передавай через параметр дату, а не строку. Заодно и убедишься.
← →
DelphiN! (2009-11-16 12:53) [2]
> Sergey13 © (16.11.09 12:52) [1]
мне нужно именно строку ...
← →
Сергей М. © (2009-11-16 12:54) [3]CAST()
← →
Сергей М. © (2009-11-16 13:01) [4]Вообще говоря, выносить подобного рода проверки на сторону сервера довольно глупо.
Строка с 31-м ноября же не с луны же к тебе свалилась ?
Что же мешает проверить ее корректность прямо на клиенте, дабы не передавать на сервер заведомую ахинею и не грузить его по таким пустякам ?
← →
DelphiN! (2009-11-16 13:10) [5]
> Сергей М. © (16.11.09 12:54) [3]
> CAST()
>
>
(cast("31.11.2009" as date)="31.11.2009")
??
Так выдает ошибку
Overflow occurred during data type conversion. Conversion error from string "31.11.2009"
← →
DelphiN! (2009-11-16 13:13) [6]
> Сергей М. © (16.11.09 12:54) [3]
Просто есть задача написать SQL запрос в котором будет 31 стоблец (дни месяца) которые заполнены соответствующими значениями, при этом если в месяце меньше 31го дня, заполнять столбец(28-31) не нужно. Использовать процедуры нельзя ...
← →
Сергей М. © (2009-11-16 13:14) [7]
> DelphiN! (16.11.09 13:10) [5]
> Так выдает ошибку
Ну и что ?
Задача-то выполнена - запрос "не вывел ничего".
А если не нравится исключение, то заткнуть его проще простого - перехватить и обработать исключение в блоке try..except
← →
Сергей М. © (2009-11-16 13:21) [8]
> есть задача написать SQL запрос в котором будет 31 стоблец
Запрашивай ВСЕ данные за месяц, и уже на стороне клиента получив эти данные изображай их в 31 столбец.
Для этого вообще-то и компоненты есть подходящие.
← →
Sergey13 © (2009-11-16 13:39) [9]> [6] DelphiN! (16.11.09 13:13)
> Просто есть задача написать SQL запрос в котором будет 31
> стоблец (дни месяца) которые заполнены соответствующими
> значениями
И как это соотносится с
> [0] DelphiN! (16.11.09 12:49)
> select * from table where (field1 = "TEXT")and(IsCorrectDate("31.11.2009"))
?
← →
Виталий Панасенко (2009-11-16 13:56) [10]вообще-то дату нужно передавать в формате ГГГГ-ММ-ДД и пох... все настройки на Региональные стандарты. это если параметры не канают по каким-то причинам
← →
Виталий Панасенко (2009-11-16 13:57) [11]
> DelphiN! (16.11.09 13:13) [6]
>
>
> > Сергей М. © (16.11.09 12:54) [3]
>
>
> Просто есть задача написать SQL запрос в котором будет 31
> стоблец (дни месяца) которые заполнены соответствующими
> значениями, при этом если в месяце меньше 31го дня, заполнять
> столбец(28-31) не нужно. Использовать процедуры нельзя .
> ..
используй Execute block...
← →
Виталий Панасенко (2009-11-16 13:58) [12]в нем сможешь сделать CAST и в случае ошибки исправить ситуацию...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2011.05.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c