0

我正在使用当前日期从 MySQL 表中获取数据,但它显示零行

我的表结构是

ActivityTypeID  int(11)         No      auto_increment                          
ActivityTypeCode    varchar(20) utf8_general_ci     No                                  
ActivityTypeDescription varchar(250)    utf8_general_ci     No                                  
UserName    varchar(50) utf8_general_ci     No                                  
AddedDateTime    date

询问:

SELECT * 
FROM `ActivityTypeLookup` 
WHERE AddedDateTime=CURDATE()

表中数据如下

日期是这样给出的,但是当我在 sql 中运行此查询时,它显示零记录

2013-06-28

这是输出

5       Video   You have uploaded Video to catalog  imran.husain    2013-06-28
6   Video   You have Played Video workin            imran.husain     2013-06-28
4

2 回答 2

0

您可以使用Date_Format函数来确保查询中的两个日期格式相同

编辑 :

Select * From ActivityLookup where date_Format(addedDateTime, "%Y-%m-%d") = date_Format(Now(), "%Y-%m-%d")

编辑2:

好吧,我仍然无法理解为什么你没有得到预期的输出,我创建了同一个表并插入了类似的数据,我得到了想要的输出。PFB 我在SQL Fiddle上使用的 SQL 命令。

Create table ActivityTypeLookup(activityId int, activitytype varchar(20), activitydescription varchar(200), username varchar(20), addedDateime date);

insert into ActivityTypeLookup values(1, "Activity 1", "sth", "some user", date_Format("2013-02-23", "%y-%m-%d"));
insert into ActivityTypeLookup values(2, "Activity 2", "sth", "some user", date_Format("2013-06-23", "%y-%m-%d"));                               
insert into ActivityTypeLookup values(3, "Activity 1", "sth", "some user", date_Format("2013-06-28", "%y-%m-%d")); 

Select * from ActivityTypeLookup 
where 
date_format(addedDateime, "%Y-%m-%d") = date_format(Now(), "%Y-%m-%d");
于 2013-06-28T06:00:54.677 回答
-1

您可以使用date()功能根据您过滤日期

$date = date('Y-m-d',time()); //it will give to you current date with same format

SELECT * 
FROM `ActivityTypeLookup` 
WHERE AddedDateTime='$date'
于 2013-06-28T06:02:37.090 回答