SQL: столбец запроса (строка) как дата - PullRequest
0 голосов
/ 11 февраля 2019

Предположим, у меня есть несколько столбцов в базе данных: id, date_added, tag

`20134` | `February 07, 2019` | `New`
`40323` | `February 09, 2019` | `New`

Я хочу выполнить запрос с фильтром на основе date_added:

SELECT * FROM table
WHERE date_added > 'February 08, 2019'

Как бы я это сделал?Я видел, что вы можете конвертировать строки в объекты даты, но не был уверен, возможно ли это внутри WHERE фильтра.

Любая помощь приветствуется!

Редактировать: я использую SQLite

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вы выбрали формат для столбца date_added, который не сопоставим.SQLite не так гибок с датами, которые на самом деле Text.Так что в этом случае вам нужно извлечь части даты по частям и создать сопоставимую дату:

select *
from tablename
where 
  substr(date_added, instr(date_added, ',') + 2) ||
  case substr(date_added, 1, instr(date_added, ' ') - 1) 
    when 'January' then '01'
    when 'February' then '02'
    when 'March' then '03'
    when 'April' then '04'
    when 'May' then '05'
    when 'June' then '06'
    when 'July' then '07'
    when 'August' then '08'
    when 'September' then '09'
    when 'October' then '10'
    when 'November' then '11'
    when 'December' then '12'
  end ||
  substr(date_added, instr(date_added, ' ') + 1, 2) > '20190208'

См. демо

0 голосов
/ 11 февраля 2019

Слушайте, я не знаю, с каким ядром базы данных вы работаете, но в случае, если это сервер Sql, вы можете сделать следующее:

в следующем запросе нет необходимости приводить date_addedстолбец, если он имеет тип даты, если он имеет строковый тип, вы также можете привести его cast (date_add as date).

SELECT * FROM table
WHERE date_added > cast('2019-01-01' as date)

ПРИМЕЧАНИЕ: очень важно, чтобы, если они собираются обрабатывать датыкак строковый тип, они должны иметь действительный формат, в Sql Server даты по умолчанию сохраняются в yyyy-MM-dd - 2019-02-10.

Если вы хотите преобразовать дату в другой формат, вы можете использовать функция преобразования

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