Есть ли функция для преобразования строки типа YYYY-QQ в дату в AWS Redshift?

#sql #amazon-redshift

#sql #amazon-redshift

Вопрос:

У меня есть требование к Redshift SQL, где мне нужно преобразовать столбец типа «2020-Q2» в дату начала квартала 2020-04-01. Я пробовал несколько других сообщений, но они, похоже, не работают. Прочитал где-нибудь, что я могу использовать приведенный ниже запрос, но на самом деле это не работает:

 select to_timestamp(to_date('2015-Q1', 'YYYY-MM-DD'), 'HH24:MI:SS');
  

Я планирую создать UDF, но если уже есть встроенная функция, пожалуйста, поделитесь. Спасибо!

Ответ №1:

Следующее работает в Postgres, и я думаю, что это должно работать в Redshift:

 select to_date(left(yyyyqq, 4), 'YYYY')   (right(yyyyqq, 1)::int - 1) * interval '3 month'
from (select '2015-Q3' as yyyyqq) x
    
  

Комментарии:

1. Гордон снова приходит на помощь!!