在 Snowflake 中将字符串转换为日期
Convert String to Date in Snowflake
当我尝试 运行 此查询时,我得到以下输出的奇怪行为一直困扰着我。
SELECT
to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh24:mm:ss') A
,to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh:mm:ss') B
,to_timestamp_ntz('11082013 12:29:25', 'MMDDYYYY hh24:mm:ss') C
,to_timestamp_ntz('11082013 12:29:25', 'MMDDYYYY hh:mm:ss') D
,to_date('11082013 12:29:25', 'mmddyy hh:mm:ss') E
我希望在所有情况下日期部分的输出都是 2013-8-01。
不确定我在这里遗漏了什么。对 Snowflake 文档进行了研究,但未能获得任何具体发现。感谢任何帮助。
您需要使用 mi 而不是 mm 来表示 MINUTES。例如
to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh24:mi:ss')
mm 代表月份,所以原来它实际上是在日期基础上增加 29 个月而不是 29 分钟。
当我尝试 运行 此查询时,我得到以下输出的奇怪行为一直困扰着我。
SELECT
to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh24:mm:ss') A
,to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh:mm:ss') B
,to_timestamp_ntz('11082013 12:29:25', 'MMDDYYYY hh24:mm:ss') C
,to_timestamp_ntz('11082013 12:29:25', 'MMDDYYYY hh:mm:ss') D
,to_date('11082013 12:29:25', 'mmddyy hh:mm:ss') E
我希望在所有情况下日期部分的输出都是 2013-8-01。
不确定我在这里遗漏了什么。对 Snowflake 文档进行了研究,但未能获得任何具体发现。感谢任何帮助。
您需要使用 mi 而不是 mm 来表示 MINUTES。例如
to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh24:mi:ss')
mm 代表月份,所以原来它实际上是在日期基础上增加 29 个月而不是 29 分钟。