SQL-запрос, дающий противоречивые результаты

0

У меня есть база данных sql с таблицей заказов с первичным ключом как order_no (int) и order_dispatch_date (временная метка). У меня есть 46 строк, которые имеют дату (order_dispatch_date) как '2017-12-09', но когда я делаю следующий запрос, он отображает только 45 строк:

select * from orders where date(order_dispatch_date)=('2017-12-09')

Поэтому я дополнительно исследовал и выяснил, что order_no 1029547 не показывался в результатах, и вот где моя проблема. Я также выполнил этот запрос, который дает мне тот же результат, 45 строк, кроме строки с order_no 1029547

 SELECT * FROM 'orders' WHERE date(order_dispatch_date)=(SELECT date(order_dispatch_date) from orders WHERE order_no=1029547)

Почему строка с order_no 1029547 не отображается в обоих результатах, пока она отображается в этом запросе:

SELECT * FROM 'orders' WHERE date(order_dispatch_date)=date('2017-12-09') and order_no=1029547

Пожалуйста, помогите мне разобраться с проблемой.

Теги:
timestamp
date

1 ответ

0

Я скопировал временную метку из порядка, который отображался в 45 строках в order_dispatch_date из order_no 1029547, я все еще получаю 45 строк, когда я выполняю выбор * из заказов, в которых дата (order_dispatch_date) = '2017-12-09

  • 1
    поставить этот ответ в комментарии

Ещё вопросы

Сообщество Overcoder
Наверх
Меню