Окт 31
MySQL. Проверка валидности даты
Если в MySQL сделать следующий запрос:
select date(”2008-02-31″);
умный MySQL вернет в результате запроса NULL, ну логично, что в феврале месяце в 2008 году не было 31 дня, да и 30 собственно тоже не было, а вот если написать
select date(”2008-02-29″);
то в ответе получим значение отличное от NULL, а именно эту же дату, что и будет доказательством её валидности и существования.
P.S. Не знаю как в ранних версиях с наличием такой фичи, но в 5.0.24 она есть и иногда бывает очень даже полезной
3 комментариев на данный момент
Оставить комментарий
А в php для проверки даты есть http://ua.php.net/checkdate
Пришлось использовать буквально 10 минут назад
Отлично, не знал о такой функции.
Если бы знал, не тревожил бы MySQL:)
А еще strtotime возвращает null для непорректной даты. На крайняк уж можно было регулярку написать — все эффективнее чем отдельный запрос к базе