mysql - 获取连续三天的生日并转换为dd-mm格式

标签 mysql date datetime

我已经编写了 MySql 查询来查找今天、明天和昨天的生日,看起来像这样

SELECT Emp_Name,Emp_DOB  FROM mldob.tbl_mldob
WHERE  
(MONTH(Emp_DOB ), DAY(Emp_DOB )) = (MONTH(NOW()),DAY(curdate()-1))
OR
(MONTH(Emp_DOB ), DAY(Emp_DOB )) = (MONTH(NOW()),DAY(curdate()))
OR
(MONTH(Emp_DOB ), DAY(Emp_DOB )) = (MONTH(NOW()),DAY(curdate()+1))
;

它以 yyyy-mm-dd hh:mm:ss 格式给出结果,Emp_DOBdatetime 格式,但是我需要作为 dd-month 的结果,例如:31-oct

任何人都可以提供解决方案如何实现这个和上面的查询是否正确找到今天、明天和昨天的生日??

提前致谢。

最佳答案

您可以使用DATE_FORMAT(date,format) 函数来格式化日期

我也尝试重写查询。

这是实现此目的的另一种方法:

SELECT 
Emp_Name,
DATE_FORMAT(Emp_DOB,'%d-%b') AS dob
FROM mldob.tbl_mldob
WHERE  
    DATE_FORMAT(Emp_DOB,'%m-%d') IN (
      DATE_FORMAT(CURDATE() - INTERVAL 1 DAY,'%m-%d'),
      DATE_FORMAT(CURDATE(),'%m-%d'),
      DATE_FORMAT(CURDATE()+INTERVAL 1 DAY,'%m-%d')
  )

注意:

%d  Day of month, numeric (00-31)
%b  Abbreviated month name (Jan-Dec)

查看更多 DATE_FORMAT

关于mysql - 获取连续三天的生日并转换为dd-mm格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40336870/

相关文章:

objective-c - 无法将字符串正确转换为日期 objective-c

c# - 将 Java 日期字符串转换为 C# 日期时间

java - SimpleDateFormat 宽容导致意外行为

php - 在 PHP 中将一种日期格式转换为另一种日期格式

python - 如何将 Python 中 OHLC 数据框中的日期条目转换为字符串,以便使用日期时间模块检查日期

java - 如何在java/android中获得完美的UTC时间?

mysql - 在 MYSQL 中按函数分组

MySql - 执行此类查询的最佳方法

mysql - mysql_insert_id() 中的空格;返回

mysql - 计算某些内容在列中出现的次数并记录下来