Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
15-1295351568
начинающий2
2011-01-18 14:52
2011.05.08
как можно создать такой класс?


11-1234297339
alex649
2009-02-10 23:22
2011.05.08
исчезает текст обработчика событий в Д7 при кпопытке компиляции


15-1295688133
boriskb
2011-01-22 12:22
2011.05.08
Эти задачи я записал в Париже весной 2004 года...


2-1295938268
Василий21
2011-01-25 09:51
2011.05.08
Таймер чужой программы и HOOK


15-1294777603
Verter_Alice
2011-01-11 23:26
2011.05.08
Метод слежки с помощью куков





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский