【发布时间】:2020-12-20 23:28:34
【问题描述】:
我无法找到任何好的转换代码来获得2014-02-17 into 2014-02-01,而无需使用连接和大量格式。
我想知道是否有人可以帮助我找到一个很好的命令来实现这一点。谢谢!
【问题讨论】:
标签: sql datetime snowflake-cloud-data-platform date-arithmetic
我无法找到任何好的转换代码来获得2014-02-17 into 2014-02-01,而无需使用连接和大量格式。
我想知道是否有人可以帮助我找到一个很好的命令来实现这一点。谢谢!
【问题讨论】:
标签: sql datetime snowflake-cloud-data-platform date-arithmetic
Snowflake 支持 date_trunc() 用于数据类型 DATE、TIME 和 TIMESTAMP:
date_trunc('month', mydate)
【讨论】:
这是另一种选择:
选择 TRUNCTIMESTAMPTOMONTH(CURRENT_DATE());
【讨论】:
听起来您正在使用字符串。如果是这种情况并且它们将始终采用“yyyy-MM-dd”格式,您可以只取前 8 个字符并添加“01”:
left(MyStringValue, 8) + '01'
如果您使用日期字段,我喜欢使用 datediff 从 0 获取月份,然后使用 dateadd 和 0 来返回月份的第一天:
dateadd(month, datediff(month, 0, MyDateValue), 0)
【讨论】: