Я не могу найти хороший код преобразования, чтобы получить 2014-02-17 into 2014-02-01 без использования конкатенации и тонны форматирования. Интересно, может ли кто-нибудь помочь мне найти хорошую команду для этого? Спасибо!

0
ee8291 1 Сен 2020 в 22:57

2 ответа

Лучший ответ

Snowflake поддерживает date_trunc() для типов данных {{X1 }}, TIME и TIMESTAMP:

date_trunc('month', mydate)
3
GMB 1 Сен 2020 в 19:59

Похоже, вы работаете со струнами. Если это так и они всегда будут в формате «гггг-ММ-дд», вы можете просто взять первые 8 символов и добавить «01»:

left(MyStringValue, 8) + '01'

Если вы работаете с полями даты, мне нравится трюк: datediff получить месяцы с 0, а затем использовать dateadd с 0, чтобы вернуться к первому числу месяца:

dateadd(month, datediff(month, 0, MyDateValue), 0)
0
Jason Goemaat 1 Сен 2020 в 20:04