- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试使用 CURDATE() 过滤过去 30 天的数据,但它只是返回 NULL 行。
查询:
SELECT
vcrs.vcrDate AS DATE,
vcrs.jobNumber AS RO_NUM,
vhcrows.description AS DESC,
vhcrows.partNumber AS PART_NUM,
vhcrows.unitPrice AS UNIT_PRICE,
vhcrows.partQuantity AS QUANTITY,
FROM vhcrows
INNER JOIN vcrs ON vhcrows.vcr_id = vcrs.uid
INNER JOIN usergroup_manufacturers ON usergroup_manufacturers.usergroup_id = usergroups.uid
WHERE usergroup_manufacturers.manufacturer_id = 7
AND vcrs.vcrDate BETWEEN DATE_FORMAT((CURDATE()),'%Y%m%d') AND DATE_FORMAT((CURDATE() - INTERVAL 30 DAY),'%Y%m%d')
AND vcrs.vcrStatus <> '-1'
AND vcrs.vcrSubStatus = 4
AND vhcrows.rowType IN (1,2);
它应该返回类似这样的内容:
DATE RO_NUM DESC UNIT_PRICE QUANTITY
20140805 36815 BALL JOINT 24.85 1
20140821 11763 BALL JOINT 31.4 1
20140806 12076 BOLT 4.44 2
20140806 12076 BOLT 4.44 2
20140828 37994 DEF WIPER 9.53 3
20140804 11536 DRIVE MEMBER 106.42 1
20140804 11536 DRIVESHAFT 280.78 1
20140805 36815 NUT 1.33 1
20140813 56817 RADIO WITH CD PLAYER 1399.88 1
20140820 203102 REF. 16.7 1
20140801 11517 TENSIONER 64.01 1
20140814 12203 WHEEL BEARING 162.13 1
20140807 51520 WIPER 9.53 3
20140821 198081 "RANGE" 22.77 1
但是,正如我所说,我只是得到 NULL。
谢谢!
* vcr.vcrDate 存储为例如20140911*
最佳答案
为什么要将 CURDATE()
转换为字符串?只要这样做:
vcrs.vcrDate BETWEEN CURDATE()) AND CURDATE() - INTERVAL 30 DAY
这假设 vcrDate
以 native 日期格式存储。如果没有,请编辑您的问题并解释其存储方式。
如果vcrs.vcrDate
实际上是一个整数,那么您希望您的CURDATE()
是一个整数。您可以采用相同的路径,但最终转换为整数:
vcrs.vcrDate BETWEEN cast(DATE_FORMAT((CURDATE()),'%Y%m%d') as unsigned) AND
cast(DATE_FORMAT((CURDATE() - INTERVAL 30 DAY),'%Y%m%d') as unsigned)
关于MYSQL - 在 WHERE BETWEEN 中使用 CURDATE() 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25788516/
如何使我的查询工作? 我想从 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
我是一名优秀的程序员,十分优秀!