我有一个以下列格式提供的数据 -
APP_STL := gnustl_shared
这是一个不正确的日期/时间戳格式,为了将其转换为正确格式,如下所示 -
2016-006-011 04:58:22.058
我试图在redshift中使用正则表达式实现此目的。有没有办法使用正则表达式删除日期和月份部分中的额外零(0)。我需要一些更通用的东西,而不是单独使用这个例子,因为日期会有所不同。
答案 0 :(得分:1)
函数regexp_replace()
(参见documentation)应该可以解决问题:
select
regexp_replace(
'2016-006-011 04:58:22.058' -- use your date column here instead
, '\-0([0-9]{2}\-)0([0-9]{2})' -- matches "-006-011", captures "06-" in $1, "11" in $2
, '-$1$2' -- inserts $1 and $2 to give "-06-11"
)
;
结果是,根据需要:
regexp_replace
-------------------------
2016-06-11 04:58:22.058
(1 row)