php - 使用 mysql 返回 2 个日期之间的特定元素

标签 php mysql sql date

我在使用 mysql 时遇到了一些问题,

我的数据库中存储了一些星座和日期(开始和结束)。

例如,水瓶座存储在 2001-01-20 和 2001-02-18 之间。

所有日期均从 2000 年(年)开始,到下一年时为 2001 年。

现在我有一个用户,有生日日期。我想归还他的签名,所以我尝试提出请求,

例如,如果我的用户出生于“1990-12-26”,我只是想比较日期和月份,所以我做了这样的请求

$query = "SELECT  `zodiac_signs__id` ,  `zodiac_signs__name` ,  `zodiac_signs__img`,  
        RIGHT(  `zodiac_signs__date_start` , 5 ) as date_debut , 
        RIGHT( `zodiac_signs__date_end`,5)   as date_fin 
        FROM  `fit__zodiac_signs`  
        WHERE  '{$date_naissance}' BETWEEN RIGHT(  `zodiac_signs__date_start` , 5 ) 
            AND   RIGHT( `zodiac_signs__date_end`,5)";

我不明白的是,请求没有返回结果,

所有用户都应该返回一个标志。

我很可能在日期的操作上做错了什么,但我真的不知道在哪里。

有人建议将日和月存储在两个不同的列中,但数据库尚未将这些信息存储在两个不同的列中。

任何形式的帮助将不胜感激。

最佳答案

如果 {$date_naissance} 的格式为“1990-12-26”,那么您可能需要执行以下操作:

 ... WHERE  '".substr($date_naissance,-5)."' BETWEEN RIGHT( ...

关于php - 使用 mysql 返回 2 个日期之间的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24927357/

相关文章:

php - 使用 Sphinx/MySQL 一次从两个表中获取数据有更好的方法吗?

php - 无法使用 php7 安装 phalcon ubuntu 19.10

mysql - MAMP 4.0.3 无法启动 MySQL 服务器(由 ib_logfile 引起)

MYSQL数据库管理

SQL选择连续运行数据的最大值

php - Paypal IPN 失败

php - 如何将 sql 计数值放在变量上?

mysql - 使用哪种策略来设计日志数据存储?

php - 来自不同表的用户积分

mysql - 索引适用的地方