以下是 mysql 查询,我在其中检测当前(所有)月份和(当前)年份是否存在于数据库日期列中。查询工作正常,但它分别针对表的每一行运行,并返回表中存在的所有行数以及该行的特定匹配。我想要做的是以下查询应该返回单行并告诉表中是否存在给定日期(日期列中的任何位置)。请让我知道如何修改以下查询来执行此操作。谢谢
SELECT
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'01'),1,0) as jan,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'02'),1,0) as feb,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'03'),1,0) as mar,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'04'),1,0) as apr,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'05'),1,0) as may,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'06'),1,0) as jun,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'07'),1,0) as jul,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'08'),1,0) as aug,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'09'),1,0) as sep,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'10'),1,0) as oct,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'11'),1,0) as nov,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'12'),1,0) as decb
FROM Notes
输出:
一月 | 二月 | 三月 ....等等... | 十一月 | 十二月 0 1 1 0 1 0 和 1 是指示月份和年份是否存在于整个日期列中的标志