我在使用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)";
我不明白的是,请求没有返回任何结果,
所有用户都应该返回一个标志。
我最有可能做错了,操纵日期,但我真的不知道在哪里。
有人建议将日期和月份存储在两个不同的列中,但数据库尚未将此信息存储在两个不同的列中。
非常感谢任何帮助。
答案 0 :(得分:1)
如果{$ date_naissance}的格式为' 1990-12-26',那么您可能想要这样做:
... WHERE '".substr($date_naissance,-5)."' BETWEEN RIGHT( ...