得到没有任何符号的日期

时间:2013-09-16 09:36:00

标签: php mysql sql

我试图获取在当前日期之前不应显示数据的数据。但问题是,表中存储的日期是int格式。如果在2012年1月23日,则表格中的日期格式为20130123.但是curdate()函数将以2013-01-23格式获取日期。任何人都可以告诉我如何比较我的表中的日期与curdate()函数。

5 个答案:

答案 0 :(得分:2)

只需做一个

... WHERE CAST(dateformat(now(),'%Y%m%d') AS int)=datcol

答案 1 :(得分:2)

CURDATE()函数返回格式2008-06-1320080613

您应该使用以下内容:

WHERE date_column = CURDATE() + 0

文件: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_curdate

答案 2 :(得分:0)

将格式应用于当前日期:

WHERE datecol <= dateformat(CURRENT_DATE,'%Y%m%d')

答案 3 :(得分:0)

使用CAST功能将 INT 转换为 varchar 然后使用 STR_TO_DATE 函数(http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date)将 varchar 转换为日期

希望这有助于你

答案 4 :(得分:0)

你可以比较如下:

$tableDate = '20130123';
$curDate = '2013-01-23';
$curDate = str_replace('-','', $curDate);
if($curDate == $tableDate) {
   echo "Matched";
} else {
   echo "Not Matched";
}