我正在尝试获取不应在当前日期之前显示数据的数据。但问题是,存储在表中的日期是 int 格式。如果在 2012 年 1 月 23 日,那么我表中的日期格式是 20130123。但是 curdate() 函数将获取 2013-01-23 格式的日期。谁能告诉我如何将表格中的日期与 curdate() 函数进行比较。
问问题
252 次
5 回答
2
简单地做一个
... WHERE CAST(dateformat(now(),'%Y%m%d') AS int)=datcol
于 2013-09-16T09:39:08.953 回答
2
CURDATE()
函数返回格式2008-06-13
和20080613
你应该使用如下:
WHERE date_column = CURDATE() + 0
文档: http ://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_curdate
于 2013-09-16T09:42:46.550 回答
0
将格式应用于当前日期:
WHERE datecol <= dateformat(CURRENT_DATE,'%Y%m%d')
于 2013-09-16T09:45:37.457 回答
0
使用 CAST 函数将INT转换为varchar,然后使用STR_TO_DATE函数将varchar转换为日期(http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-迄今为止)
希望这可以帮助你
于 2013-09-16T09:46:34.163 回答
0
你可以像这样比较:
$tableDate = '20130123';
$curDate = '2013-01-23';
$curDate = str_replace('-','', $curDate);
if($curDate == $tableDate) {
echo "Matched";
} else {
echo "Not Matched";
}
于 2013-09-16T09:48:16.973 回答