sql - 每月生日 SQL 查询

标签 sql mysql

如何在 SQL 中检索给定月份的所有客户的生日? MySQL呢? 我正在考虑将以下内容与 SQL 服务器一起使用。

select c.name   
from cust c
where  datename(m,c.birthdate) = datename(m,@suppliedDate)
order by c.name

最佳答案

别忘了 2 月 29 日......

SELECT c.name
FROM cust c
WHERE (
    MONTH(c.birthdate) = MONTH(@suppliedDate)
    AND DAY(c.birthdate) = DAY(@suppliedDate)
) OR (
    MONTH(c.birthdate) = 2 AND DAY(c.birthdate) = 29
    AND MONTH(@suppliedDate) = 3 AND DAY(@suppliedDate) = 1
    AND (YEAR(@suppliedDate) % 4 = 0) AND ((YEAR(@suppliedDate) % 100 != 0) OR (YEAR(@suppliedDate) % 400 = 0))
)

关于sql - 每月生日 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/112892/

相关文章:

sql - 计算 Oracle 中每个文档的给定搜索查询/术语的命中数

mysql - Rails—迁移时出现 mysqldump 错误

Python通过mysql.connector将变量插入到mysql

php - 使用 WHERE 子句将数组传递给查询

MySQL 5.5.9 无法启动

python - 将值存储到 mySQL 表时出错

sql - 正则表达式中的 '^\d+\D+$' 是什么意思

MySQL:如果未设置,则将 update_date 设置为 create_date

PHP - 手动创建包含与格林威治差异的日期

mysql:从表中选择 * 但在特定列中具有唯一值