从 SQL SELECT 语句中的数组更改日期格式

Change Date Format from an array in SQL SELECT Statement

我有一列 updated_at returns 一个数组

["2019-01-05T17:28:32.506-05:00","2019-06-15T13:22:02.625-04:00"]

但我想要这样的输出日期格式 2019-01-03。

如何在 sql 数据块中完成此操作?

谢谢!

您可以使用“date_trunc”SQL函数来获取日期格式的输出。

date_trunc(fmt, ts) - Returns 时间戳 ts 被截断为格式模型 fmt 指定的单位。 fmt 应该是 [“YEAR”、“YYYY”、“YY”、“MON”、“MONTH”、“MM”、“DAY”、“DD”、“HOUR”、“MINUTE”、“SECOND”之一, “周”、“季度”]

示例:

> SELECT date_trunc('YEAR', '2015-03-05T09:32:05.359');
 2015-01-01 00:00:00
> SELECT date_trunc('MM', '2015-03-05T09:32:05.359');
 2015-03-01 00:00:00
> SELECT date_trunc('DD', '2015-03-05T09:32:05.359');
 2015-03-05 00:00:00
> SELECT date_trunc('HOUR', '2015-03-05T09:32:05.359');
 2015-03-05 09:00:00

参考: Databricks - SQL Functions.

希望对您有所帮助。

尝试取消嵌套并将其转换为日期:

with ts_array as
     (select array['2019-01-05T17:28:32.506-05:00','2019-06-15T13:22:02.625-04:00'] as tsa)
select unnest(tsa)::date from ts_array ;