php - 根据日期时间列选择记录会更改日期时间列中的数据..很奇怪
问题描述
所以我有一个包含多个日期时间列的表,我正在尝试使用基于某个日期选择某些记录
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 运行它,它总是给我相同的结果。我究竟做错了什么 ?
解决方案
在您的查询SELECT * FROM 'posdata'
中意味着从表中获取所有字段发布数据,然后应用下一个 WHERE 子句。如果您只想从CommissionDate
列中获取数据
将您的查询更改为
SELECT `CommissionDate` FROM `posdata`
以获取所需数据的方式。
推荐阅读
- python - 获取第二个窗口 tkinter 使用的根窗口的图标
- r - 将寓言中的点预测从指数格式转换为正常数字
- java - Spock:Class Cast Exception,但适用于真实通话
- angular - 在视图初始化之前引用时未定义 ViewChild 元素
- python - discord.ext.commands.errors.ExtensionFailed:扩展 'cogs.fun' 引发错误:IndentationError:期望缩进块(fun.py,第 7 行)
- c++ - C++ 17:如何使用参数包来阐明函数中所有具有相同类型的参数的顺序
- bash - Bash:即使在将语言环境设置为 UTF-8 后也出现奇怪的字符:“•”打印为“ΓÇó”
- r - ggplot2:以非字母顺序保持 x 轴标签
- java - 将 csv 值提取为键值对
- python - 虽然循环一个范围?