如何验证MYSQL日期字段是否为NULL/EMPTY?

如何验证MYSQL日期字段是否为NULL/EMPTY?,mysql,validation,date,stored-procedures,Mysql,Validation,Date,Stored Procedures,我正在开发一个MYSQL存储过程,其中我需要验证一个日期字段,如下所示 IF (dt_wedding_date<>'') THEN IF (int_days_to_wedding>0) THEN SET vc_wedding ='F'; ELSE SET vc_wedding ='P'; END IF; ELSE SET vc_wedding = 'NA'; END IF; 如果(婚礼日期“”),则 如果(in

我正在开发一个MYSQL存储过程,其中我需要验证一个日期字段,如下所示

IF (dt_wedding_date<>'') THEN
     IF (int_days_to_wedding>0) THEN
      SET vc_wedding ='F';
    ELSE
      SET vc_wedding ='P';
    END IF;
  ELSE
    SET vc_wedding = 'NA';
  END IF;
如果(婚礼日期“”),则
如果(int_days_to_wedding>0),则
设置vc_-widding='F';
其他的
设置vc_-widding='P';
如果结束;
其他的
设置vc_婚礼='NA';
如果结束;
但是当dt_-widding_-date为空时,它永远不会进入ELSE部分。我尝试了“is null”、“is not null”、““>”,修剪函数,但没有任何效果


知道如何计算这个日期字段的null/empty吗?

试试isnull函数,我在本地mysql上试过

mysql> select * from data_test;
+----+------------+
| id | gmt_create |
+----+------------+
|  1 | NULL       |
+----+------------+
1 row in set (0.00 sec)

mysql> select id, isnull(gmt_create) from data_test;
+----+--------------------+
| id | isnull(gmt_create) |
+----+--------------------+
|  1 |                  1 |
+----+--------------------+
1 row in set (0.00 sec)

mysql> 

MySQL确实有一个ISNULL()函数。但是,它有点起作用 与Microsoft的ISNULL()函数不同


试试isnull函数,我在本地mysql上试过了

mysql> select * from data_test;
+----+------------+
| id | gmt_create |
+----+------------+
|  1 | NULL       |
+----+------------+
1 row in set (0.00 sec)

mysql> select id, isnull(gmt_create) from data_test;
+----+--------------------+
| id | isnull(gmt_create) |
+----+--------------------+
|  1 |                  1 |
+----+--------------------+
1 row in set (0.00 sec)

mysql> 

MySQL确实有一个ISNULL()函数。但是,它有点起作用 与Microsoft的ISNULL()函数不同


所有涉及NULL的普通比较返回false。但是,
不是空的
应该是有效的。所有涉及空的普通比较都返回false。但是,
不是空的
应该已经工作了。