выбор записей на основе столбца datetime изменяет данные в столбце datetime .. очень странно - PullRequest
0 голосов
/ 30 апреля 2020

Итак, у меня есть таблица с несколькими столбцами даты и времени, и я пытаюсь выбрать определенные записи на основе определенной даты, используя

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`);

a случается очень странная вещь, он возвращает все поля по мере необходимости, но в столбце CommissionDate указывается только «2019-01-01 00:00:00» в качестве даты. Фактический столбец CommissionDate в базе данных имеет только «2016-01-01 00:00:00» в качестве данных.

Я использую phpmyadmin для запуска этого запроса и использовал поисковый фильтр для него и для него. всегда дает мне один и тот же результат, независимо от того, запускаю ли я скрипт php или phpmyadmin. Что я делаю неправильно ?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

запрос был верным, может кто-нибудь удалить этот вопрос!

0 голосов
/ 30 апреля 2020

В вашем запросе SELECT * FROM 'posdata' означает получение всех полей из данных публикации таблицы, а затем применяется следующее предложение WHERE. Если вы хотите получить данные только из CommissionDate столбца

Изменить Ваш запрос к

SELECT `CommissionDate` FROM `posdata`

Способ, которым вы получаете нужные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...