Mysql SQL PHP-如何通过时间戳获取特定日期的记录

Mysql SQL PHP-如何通过时间戳获取特定日期的记录,mysql,Mysql,我有一个SQL数据库,其中有一列“a”,其中有时间戳 如何返回时间戳不在当前日期下的所有值。比如说它是星期一,我想返回所有不是这个星期一的值。 使用DATE()或CURDATE()MySQL函数:- 返回当前日期的所有值:- select * from table where DATE(emailsend)=CURDATE() select * from table where DATE(emailsend) !=CURDATE() 返回不是当前日期的所有值:- select * from

我有一个SQL数据库,其中有一列“a”,其中有时间戳

如何返回时间戳不在当前日期下的所有值。比如说它是星期一,我想返回所有不是这个星期一的值。

使用DATE()CURDATE()MySQL函数:-

返回当前日期的所有值:-

select * from table where DATE(emailsend)=CURDATE()
select * from table where DATE(emailsend) !=CURDATE()
返回不是当前日期的所有值:-

select * from table where DATE(emailsend)=CURDATE()
select * from table where DATE(emailsend) !=CURDATE()
或者使用MySQL WEEKDAY()返回一周中某一天的索引 给定日期(周一为0,周二为1,周日为6)

使用DATE()CURDATE()MySQL函数:-

返回当前日期的所有值:-

select * from table where DATE(emailsend)=CURDATE()
select * from table where DATE(emailsend) !=CURDATE()
返回不是当前日期的所有值:-

select * from table where DATE(emailsend)=CURDATE()
select * from table where DATE(emailsend) !=CURDATE()
或者使用MySQL WEEKDAY()返回一周中某一天的索引 给定日期(周一为0,周二为1,周日为6)


我看到的最简单的方法是忽略时间,只使用date()函数比较日期

select * from table where date(A) != date(now())

我看到的最简单的方法是忽略时间,只使用date()函数比较日期

select * from table where date(A) != date(now())

基于Rah的答案,你可以

select * from table where WEEKDAY(emailsend) !=WEEKDAY(now());

然后它应该选择除当前工作日之外的所有工作日。没有经过测试,但我觉得不错。

基于Rahauts的答案,您可以这样做

select * from table where WEEKDAY(emailsend) !=WEEKDAY(now());


然后它应该选择除当前工作日之外的所有工作日。没有经过测试,但我觉得不错。

MySQL还是SQL Server?哪个数据库提供程序与您提出的问题相关?它是托管在phpMyAdmin上的MYSQL在本例中,您会过滤掉任何星期一(如七天前)或今天的所有日期吗?我只想过滤掉查询运行的日期。请注意,天真的解决方案不会扩展。喜欢.MySQL还是sqlserver?哪个数据库提供程序与您提出的问题相关?它是托管在phpMyAdmin上的MYSQL在本例中,您会过滤掉任何星期一(如七天前)或今天的所有日期吗?我只想过滤掉查询运行的日期。请注意,天真的解决方案不会扩展。首选。OP不是这样问的。@当电子邮件未发送时,我的时间戳中有空值,因此查询不会返回所有值。我知道一个解决方案是同时查找空值,但是你认为我应该更改该列的默认值,以便在未发送电子邮件时,该列的默认值为0000-00-00,这样它就可以与你给我的查询一起工作吗?只是为了澄清,当该列未填充时,该列被设置为默认值为空。使用MySQL函数IFNULL(电子邮件发送,“0000-00-00”)@Code@Rahautos我将如何使用select*from表格where DATE(emailsend)!=CURDATE()?OP不是这样问的。@Rahauto我的时间戳在电子邮件未发送时有空值,因此查询不会返回所有值。我知道一个解决方案是也查找空值,但您认为我是否应该更改列的默认值,以便在电子邮件未发送时有0000-00-00的默认值,以便与qu一起工作你给了我什么?只是想澄清一下,当该列尚未填充时,该列被设置为默认为NULL。使用MySQL函数IFNULL(emailsend,'0000-00-00')@Code@Rahautos我将如何使用select*from table where DATE(emailsend)!=CURDATE()?