Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.08;
Скачать: CL | DM;

Вниз

Проверка корректности даты в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.008 c
15-1295611321
>|
2011-01-21 15:02
2011.05.08
Как распознать силует человека на картинке с веб-камеры?


15-1295731785
Юрий
2011-01-23 00:29
2011.05.08
С днем рождения ! 23 января 2011 воскресенье


15-1296026295
Dennis I. Komarov
2011-01-26 10:18
2011.05.08
Бросте, если не сложно, balloon.pas на мыло...


2-1295941539
Godod
2011-01-25 10:45
2011.05.08
Delphi и FilterGraph


2-1296057400
Kirilovich
2011-01-26 18:56
2011.05.08
Сетевая Бд