- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下语句从 mysql 表中选择值:
$a = mysqli_query($con, "SELECT * FROM list WHERE inserted_on<=DATE_SUB(CURDATE(), INTERVAL 0 DAY)");
while($row = mysqli_fetch_array($a))
{ //do something...
}
但是查询会跳过 12 月(12 月)的结果...
inserted_on 行如下所示(示例):
2013-12-04 17:50:34 //edited so that it reflects an actual example
year-month-date hour:minute:second
知道为什么......也许有解决问题的方法吗?
最佳答案
我将根据留下的评论尝试尝试这一点。
我不确定您需要的确切结果,但其中任何一个就足够了:
SELECT * FROM list WHERE DATE(inserted_on) <= CURDATE();
或者
SELECT * FROM list WHERE inserted_on <= NOW();
从运行时的角度来看,第二个是一个更好的解决方案,特别是如果您的日期已建立索引。
编辑:
注意我在这里做什么。
首先,因为 CURDATE() 仅返回 2013-01-01,并且您的字段返回时间戳,然后检查 00:00:00 和 23:59:59 之间的所有时间,我本质上是说让我知道仅插入插入字段的日期并将其与 curdate() 进行比较。
在第二个中,我说的是 now() ,它将截至本文的日期/时间 2013-12-09 10:54:19,我将其与格式 2013-01 表中的时间戳进行比较-01 00:00:00(作为示例)。
关于php - CURDATE() 12 月不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20475152/
如何使我的查询工作? 我想从 SQL 中获取未列出今天日期的数据。 这是我的查询: String sql = "select Room, Name, Age, EmailAddress, Phone,
我正在尝试保留数据库标志 30dexpf = 1 直到项目的到期日期等于或介于接下来的 7 天和 30 天之间这是我的数据库表 30dexpf | expiry --------|-------- 0
我编写了一个查询来计算客户的 PPPOE 中断次数。它在这种情况下工作得很好——在输出文件中我可以看到客户的名字以及他的 PPPOE 连接断开的次数: select username,
这个问题已经有答案了: SQL statement is ignoring where parameter (1 个回答) 已关闭 7 年前。 我有一个正在为客户构建的网站,用户可以在其中搜索优惠券,
我不明白为什么当我使用 CURDATE() 更新数据库时它总是将其设置为明天的日期。 服务器时间是:2012 年 MDT 9 月 10 日星期一 16:53:47 更新如下:更新 map 集大小=50
我想比较两个结果一个存储在第一个查询中,另一个与第一个查询完全相同,但我只想接收数据 9 ORDER BY moy DESC LIMIT 0,15"; 这是正确的吗?谢谢 最佳
我尝试创建一个表,其中“dateFrom”和“dateTo”字段需要高于今天的日期。所以我像这样使用 CHECK CREATE TABLE Booking ( hotelNo int(1
不确定为什么这个查询不会返回并获取当月之前的记录。上个月它运行良好,然后今天命中,6 月 1 日,它不会检索上个月的记录。 过去 7 天 SELECT SUM(sum) AS sum FROM cl_
我有一个惊人的观察 - 谁能解释一下? mysql> explain select * from game_instance where start_datetime between STR_TO_D
我正在尝试执行以下操作: statement.executeUpdate("INSERT INTO PlayerList (nickname, uuid, firstjoined) VALUES ('
我有一个 INSERT 语句, $stmt = $mysqli->prepare("INSERT INTO numbertable (numbers, numdate, salesperson, co
我有下表: CREATE TABLE Trans ( tranID int NOT NULL AUTO_INCREMENT, tranDate datetime NOT NULL DE
我正在执行一个选择查询,但在使用以下逻辑时遇到错误: and (dre.completion_date >= (curdate() - 1) and dre.completion_date = ("2
我有一些关于 mysql_query 的问题 INSERT INTO table VALUES ('', CURDATE()-1) 为什么昨天是这个月的最后一天 CURDATE()-1 结果类似于 2
大家 我想添加一列 start_date,其默认值为当前日期(),所以我使用以下命令: 改变表验证添加列 start_date 日期默认 CURDATE() 但它没有用,并告诉我它有语法错误。 虽然使
拜托,我不明白为什么这个命令返回 00 April。 今天是 2015 年 4 月 1 日,执行: mysql> SELECT CURDATE() -1; 它返回: | 20150400 | +---
MySQL CURDATE功能介绍 如果在数字上下文中使用字符串上下文或YYYMMDD格式,CURDATE()函数将以“YYYY-MM-DD”格式的值返回当前日期。 以下示例显示了如何在字符串上
为什么调出CURDATE会出错? UPDATE TABLENAME SET DATEATR= (TO_DATE(CURDATE() ,'DD-MM-YYYY') - WORKDATE /365
我正在尝试获取当天减去五天的值,但我想要特殊格式的结果(不是 MySQL 格式): SELECT DATE_FORMAT(DATE_SUB( DATE_FORMAT( CURDATE( ) , '%
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包含有效代码以重现该问题。请参阅SSCCE.o
我是一名优秀的程序员,十分优秀!