Выберите первые 6 месяцев записи из таблицы, когда тип данных столбцов даты в varchar2 - PullRequest
0 голосов
/ 08 мая 2019

Я хотел выбрать результаты первого полугодия из приведенной ниже таблицы.Проблема в том, что поле месяцев хранится в виде строки (Varchar2), используя формат «2016 DEC» в этом формате.Я использую оракула 12c.

enter image description here

1 Ответ

1 голос
/ 08 мая 2019

Просто преобразовать в дату:

where to_date(col, 'YYYY-MON') < date '2016-07-01'

Или, если вы хотите эту динамику:

select t.*
from (select t.*, min(to_date(col, 'YYYY-MON')) over () as min_date
      from t
     ) t
where date < add_months(min_date, 6);
...