让我们创建一个自定义函数来验证MySQL中的日期-
set global log_bin_trust_function_creators=1;
delimiter //
create function isValidDate(actualDate varchar(255)) returns int
-> begin
-> declare flag int;
-> if (select length(date(actualDate)) IS NOT NULL ) then
-> set flag = 1;
-> else
-> set flag = 0;
-> end if;
-> return flag;
-> end
-> //
delimiter ;
情况1-
当参数为空值时,即要检查的日期不是实际日期。使用SELECT语句调用函数-
select isValidDate(NULL);
这将产生以下输出,即不是日期-
+-------------------+
| isValidDate(NULL) |
+-------------------+
| 0 |
+-------------------+
1 row in set (0.05 sec)
情况2-
当parameter为实际日期值时。使用SELECT语句调用函数-
select isValidDate('2019-10-21');
这将产生以下输出,即1,实际日期-
+---------------------------+
| isValidDate('2019-10-21') |
+---------------------------+
| 1 |
+---------------------------+
1 row in set (0.00 sec)