如何在 Snowflake 中将日期截断为该月的第一天?

How to truncate a date to the first day of the month in Snowflake?

我无法找到任何好的转换代码来获得 2014-02-17 into 2014-02-01,而无需使用连接和大量格式设置。 我想知道是否有人可以帮我找到一个很好的命令来实现这一目标。谢谢!

Snowflake 支持 date_trunc() 数据类型 DATETIMETIMESTAMP:

date_trunc('month', mydate)

听起来你在处理弦乐。如果是这种情况并且它们将始终采用 'yyyy-MM-dd' 格式,您可以只取前 8 个字符并添加 '01':

left(MyStringValue, 8) + '01'

如果您使用的是日期字段,我喜欢这样的技巧:datediff 从 0 开始获取月份,然后使用 dateadd 和 0 返回月份的第一天:

dateadd(month, datediff(month, 0, MyDateValue), 0)

这是另一个选项:

SELECT TRUNCTIMESTAMPTOMONTH(CURRENT_DATE());