SELECT * FROM *****
WHERE ((first_appeared_on BETWEEN DATE_SUB( '2015-07-28' , INTERVAL 1 DAY ) AND '2015-07-28')
or (last_appeared_on BETWEEN DATE_SUB( '2015-07-28' , INTERVAL 1 DAY ) AND '2015-07-28'))
在上面的查询中,我不想一次又一次地输入日期 (2015-07-28) 我可以使用变量并为该变量分配一个值吗
日期 = '2015-07-28';
SELECT * FROM *****
WHERE ((first_appeared_on BETWEEN DATE_SUB(day , INTERVAL 1 DAY ) AND day)
or (last_appeared_on BETWEEN DATE_SUB( day , INTERVAL 1 DAY ) AND day))
最佳答案
这可以在 MySQL 中使用 user-defined variable 来完成。 :
SET @day = '2015-07-28';
SELECT * FROM *****
WHERE ((first_appeared_on BETWEEN DATE_SUB( @day , INTERVAL 1 DAY ) AND @day)
or (last_appeared_on BETWEEN DATE_SUB( @day , INTERVAL 1 DAY ) AND @day));
关于mysql - 下面的 mysql 查询的改进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31853352/