如何通过自定义函数在MySQL中精确验证特定日期格式?

2026-04-29 01:392阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计230个文字,预计阅读时间需要1分钟。

如何通过自定义函数在MySQL中精确验证特定日期格式?

创建一个自定义函数来验证MySQL中的日期。

mysql> set global log_bin_trust_function_creators=1; Query OK, 0 rows affected (0.03 sec) mysql> delimiter // mysql> 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 -> // Query OK, 0 rows affected (0.11 sec) mysql> delimiter ;

案例1 −

当参数为null值时,即要检查的日期不是实际日期。使用SELECT语句调用函数 −

mysql> select isValidDate(NULL);

这将产生以下输出,即不是日期 -

+-------------------+ | isValidDate(NULL) | +-------------------+ | 0 | +-------------------+ 1 row in set (0.05 sec)

情况 2 -

当参数是实际日期值时。使用 SELECT 语句调用函数 -

mysql> select isValidDate('2019-10-21');

这将产生以下输出,即 1,实际日期 -

+---------------------------+ | isValidDate('2019-10-21') | +---------------------------+ | 1 | +---------------------------+ 1 row in set (0.00 sec)

本文共计230个文字,预计阅读时间需要1分钟。

如何通过自定义函数在MySQL中精确验证特定日期格式?

创建一个自定义函数来验证MySQL中的日期。

mysql> set global log_bin_trust_function_creators=1; Query OK, 0 rows affected (0.03 sec) mysql> delimiter // mysql> 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 -> // Query OK, 0 rows affected (0.11 sec) mysql> delimiter ;

案例1 −

当参数为null值时,即要检查的日期不是实际日期。使用SELECT语句调用函数 −

mysql> select isValidDate(NULL);

这将产生以下输出,即不是日期 -

+-------------------+ | isValidDate(NULL) | +-------------------+ | 0 | +-------------------+ 1 row in set (0.05 sec)

情况 2 -

当参数是实际日期值时。使用 SELECT 语句调用函数 -

mysql> select isValidDate('2019-10-21');

这将产生以下输出,即 1,实际日期 -

+---------------------------+ | isValidDate('2019-10-21') | +---------------------------+ | 1 | +---------------------------+ 1 row in set (0.00 sec)