【发布时间】:2015-04-24 01:40:29
【问题描述】:
在我的 MySQL 数据库中,user 表中有一个 dateofjoin (int) 字段。 dateofjoin 插入如下格式:
$dateofjoin=mktime(0,0,0,02,22,2015);
现在我想通过选择查询列出位于两个日期之间的日期列表。其中两个日期在 mysql 查询中自动更改。我是这样写的
SELECT *
FROM user
WHERE
(MONTH(STR_TO_DATE(dateofjoin, '%m/%d/%Y')) = MONTH( CURDATE() + INTERVAL 15 DAY)
AND DAY(STR_TO_DATE(dateofjoin,'%m/%d/%Y')) = DAY(CURDATE() + INTERVAL 15 DAY))
【问题讨论】:
-
您的日期是否实际存储为字符串?
-
使用
BETWEEN运算符,如果您只考虑日期而不考虑时间,这是安全的。 -
没有。存储为整数
-
什么的整数?是从纪元开始的几秒钟吗? YYYYMMDD?为什么用整数而不是
DATE类型? -
您的问题(“我想要日期列表”)与您的 SQL 不匹配(“在该时间间隔内查找具有
dateofjoin的用户”)。