|
Тема
|
MySQL проверка за валидни дати
|
|
Автор | Stefan (Нерегистриран) |
Публикувано | 20.08.06 11:57 |
|
Здравейте,
пиша съхранена процедура, която приема за параметър дата. Как мога да проверя дали датата е валидна, т.е. не е 0000-00-00, 1996-02-31 или подобна?
Благодаря предварително!
Стефан
| |
Тема
|
Re: MySQL проверка за валидни дати
[re: Stefan]
|
|
Автор | ДядoMpaз (Нерегистриран) |
Публикувано | 21.08.06 19:41 |
|
Доколкото знам MySQL няма функция за проверка на дата и аз бих ти препоръчал един малко безумен метод през UNIX timestamp. Работи без грешка но не знам дали ще ти свърши работа
CREATE FUNCTION checkdate (data CHAR(10)) RETURNS tinyint(1)
RETURN if(date_format(from_unixtime(unix_timestamp(data)),'%Y-%m-%d')=data,1,0);
| |
Тема
|
Re: MySQL проверка за валидни дати
[re: ДядoMpaз]
|
|
Автор | ДядoMpaз (Нерегистриран) |
Публикувано | 21.08.06 19:46 |
|
Така де - това горе би трябвало да работи на MySQL 5 но не съм го тествал. Това работи на 4.1.20
select @data:='1999-01-01';
select if(date_format(from_unixtime(unix_timestamp(@data)),'%Y-%m-%d')=@data,1,0);
| |
|
|
|
|