我在使用 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/