Presto - как есть альтернатива to_char, например postgresql? - PullRequest
0 голосов
/ 04 августа 2020

Мне нужно создать запрос в presto, который мог бы просмотреть последние 70 дней, таблица, с которой я работаю, хранит даты в формате 'ГГГГММДД'.

в postgresql, я можно просто написать предложение where как

where date >= to_char(current_date - 70, 'YYYYMMDD')

, и оно выведет дату 70 дней a go в формате ГГГГММДД.

Однако в Presto SQL похоже, что этой функции не существует, есть ли ей альтернатива?

Ответы [ 2 ]

1 голос
/ 04 августа 2020

Вы можете сделать это с помощью date_format():

where date >= date_format(current_date - interval '70' day, '%Y%m%d')

Обратите внимание, что хранение дат в виде строк не является хорошей практикой - вы должны использовать правильный date -подобный тип данных - и тогда вам вообще не нужно будет выполнять преобразования.

0 голосов
/ 04 августа 2020

Вы бы просто использовали арифметические даты c:

where date >= current_date - interval '70' day

Я не уверен, почему вы хотите использовать строки в сравнениях, которые строго связаны с датой.

...