Trino – Как фильтровать по датам

Только начал использовать Salesforce и использую DBeaver для запроса данных.

Я использую MSSQL уже 15 лет, но впервые использую Trino SQL и сталкиваюсь с проблемами при выполнении самых простых задач, таких как фильтрация по датам.

Все, что я хочу сделать, это простой ВЫБОР между диапазоном дат.

Я пробовал разные вещи, и найденная мной документация не дает ответа на этот основной вопрос.

Не можете ли вы добавить WHERE CreatedDate_C > MYSQLDATEFORMAT < CreatedDate_C? Фильтровать свой диапазон таким образом?

easleyfixed 11.07.2024 21:19

@easleyfixed Пробовал, но получаю ошибку CreatedDate__c >= '2024-04-25 21:27:20.547 UTC'

lezs76 11.07.2024 21:26

@easleyfixed Я пробовал CAST(CreatedDate as DATE) >= .... но та же проблема.

lezs76 11.07.2024 21:27

Например: CAST(CreatedDate as DATE) >= '2024-04-25'

easleyfixed 11.07.2024 21:49

@easleyfixed Да, думал, что это будет лучший способ сделать это, но та же ошибка. Я думаю, дело не во мне, а в том, как все устроено.

lezs76 11.07.2024 21:49

@easleyfixed Я обнаружил, что это работает ГДЕ CreatedDate__c >= DATE'2024-06-06' И CreatedDate__c <= DATE'2024-06-12'

lezs76 12.07.2024 00:32

Итак, да, нужно преобразовать дату в формат даты mysql, но вы поняли, хорошая работа.

easleyfixed 12.07.2024 15:34
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
7
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для фильтрации по датам вам нужны даты по обе стороны сравнения. '2024-04-25 21:27:20.547 UTC' не является буквалом даты и не будет преобразован в него в Trino. Если столбец CreatedDate_C имеет тип date/timestamp (можно проверить с помощью select typeof(CreatedDate_C)), то должно работать следующее:

WHERE CreatedDate_C > timestamp '2024-04-25 21:27:20.547 UTC'; -- or date '2024-04-25' 

или

WHERE CreatedDate_C BETWEEN timestamp '2024-04-25 21:27:20.547 UTC' 
   AND timestamp '2025-04-25 21:27:20.547 UTC';

Если CreatedDate_C не date/timestamp, вам нужно будет привести его или проанализировать до одного.

Я нашел, что это работает ГДЕ CreatedDate__c >= DATE'2024-06-06' И CreatedDate__c <= DATE'2024-06-12'

lezs76 12.07.2024 00:34

@ Lezs76 да, как следует из ответа (см. комментарий в первом фрагменте).

Guru Stron 12.07.2024 07:09

Другие вопросы по теме