如何在 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()
数据类型 DATE
、TIME
和 TIMESTAMP
:
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());
我无法找到任何好的转换代码来获得 2014-02-17 into 2014-02-01
,而无需使用连接和大量格式设置。
我想知道是否有人可以帮我找到一个很好的命令来实现这一目标。谢谢!
Snowflake 支持 date_trunc()
数据类型 DATE
、TIME
和 TIMESTAMP
:
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());