【发布时间】:2020-04-30 08:45:26
【问题描述】:
所以我有一个包含多个日期时间列的表,我正在尝试使用基于某个日期选择某些记录
SELECT * FROM `posdata` WHERE `CommissionDate` >= '2019-01-01 00:00:00'
表结构
CREATE TABLE `posdata` (
`ID` int(11) NOT NULL,
`DISTYNAME` varchar(30) DEFAULT NULL,
`ENDCUST` varchar(75) DEFAULT NULL,
`MFGCUST` varchar(50) DEFAULT NULL,
`EXTPRICE` double DEFAULT NULL,
`POSPERIOD` datetime DEFAULT NULL,
`PAYMENTDATE` date DEFAULT NULL,
`QTY` double DEFAULT NULL,
`UNITCOST` double DEFAULT NULL,
`UNITPRICE` double DEFAULT NULL,
`COMMISSION` double DEFAULT NULL,
`SALESORDER` varchar(40) DEFAULT NULL,
`PO` varchar(40) DEFAULT NULL,
`POLineItem` varchar(20) DEFAULT NULL,
`ENTRYDATE` datetime DEFAULT NULL,
`AdjustedCommission` int(11) DEFAULT NULL,
`CustomerPart-NO` varchar(50) DEFAULT NULL,
`CommissionDate` datetime DEFAULT NULL,
`EXTCOST` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `posdata`
ADD PRIMARY KEY (`ID`),
ADD KEY `CommissionDate` (`CommissionDate`);
ALTER TABLE `posdata` ADD FULLTEXT KEY `posdata_endcustomer_index` (`ENDCUST`);
发生了一件很奇怪的事情,它按要求返回所有字段,但 CommissionDate 列只有 '2019-01-01 00:00:00' 作为日期。数据库中实际的 CommissionDate 列只有 '2016-01-01 00:00:00' 作为数据。
我正在使用 phpmyadmin 来运行此查询,并在其上使用了搜索过滤器,无论我通过 php 脚本还是 phpmyadmin 运行它,它总是给我相同的结果。我究竟做错了什么 ?
【问题讨论】:
-
您的表中必须有一些 CommissionDate = '2019-01-01 00:00:00' 的行。
-
这么简单的查询,结果一定是真的。
-
您能否分享您的结果屏幕截图以及
CommistionDate日期信息?
标签: php mysql datetime phpmyadmin