PHP sqlite sql выпуск - PullRequest
       0

PHP sqlite sql выпуск

0 голосов
/ 01 февраля 2020

У меня есть база данных, которая содержит поле даты / времени, в котором используется текст. Это напечатано как DATE/TIME. Это выглядит как "2020-01-21 19-33-22Z" при просмотре в браузере БД. Я хочу заказать таблицу в DESC последовательности дата / время. Используя DB Browser, я могу выполнить оператор SQL, который выглядит следующим образом:

SELECT * FROM LOG ORDER BY QSODATE DECS

Этот оператор работает в DB Browser, но не в моей среде PHP 7.3.6. Когда я запускаю программу PHP, я не получаю никаких ошибок, я получаю соединение с таблицей и могу извлечь данные из таблицы, но порядок неверный. Заказ выглядит как необработанная таблица без вызова заказа.

Редактировать 1/2/2020 Из браузера БД: Результат: 7251 строк, возвращенных за 2480 мс. В строке 1: ВЫБРАТЬ * ИЗ ЗАКАЗА ЖУРНАЛА по qsodate DES C

Это приводит к тому, что эта неполная верхняя строка неверна: 20200122192000960 xx3xxx 40m FT8 2020-01-21 22: 35: 00Z

Вся запись будет бессмысленной, но этот фрагмент содержит дату и время, когда я пытаясь установить порядок. Теперь, когда я смотрю, я вижу, что поменял две буквы в «DES C», когда набрал первый пример. Извините.

Однако дата / время, которые должны быть вверху: 2020-01-31 18: 26: 00Z

Дата / время в примере является неупорядоченной датой. /time.

Строка кода PHP:

$ result = $ connection-> query ("SELECT * FROM LOG ORDER по qsodate DES C");

1 Ответ

0 голосов
/ 05 февраля 2020

Если вы можете преобразовать qsodate в действительную временную строку sqlite (то есть «2020-01-21 19: 33: 22Z», то вы можете преобразовать его в unixepoch и отсортировать в хронологическом порядке.

SELECT * FROM LOG ORDER by strftime('%s',qsodate) DESC

Для справки ...

select strftime('%s',"2020-01-21 19:33:22Z") 'unixepoch'

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