如何删除“”并将其更改为日期格式

How to delete "" and change it to date format

我的数据集的日期列(tweet_stamp)显示为“2020-01-29 00-21-29”,并且是 STRING 格式。

我想得到 2020-01-29 的结果。

如何把字符串中的""去掉,改成日期格式?

我尝试了如下代码

select to_date(from_unixtime(unix_timestamp(tweet_timestamp,'"yyyy-MM-dd 00-00-00"'), 'yyyy-MM-dd')) as tweet_date;

然而,结果为 NULL。

您不需要 unix_timestamp+from_unix_time 转换,因为字符串的日期部分已经是正确的格式。只需删除双引号,获取子字符串并可选择转换为日期:

select date(substr(regexp_replace('"2020-01-29 00-21-29"','"',''),1,10)) --returns 2020-01-29

或者使用 to_date 函数更简单:

select to_date(regexp_replace('"2020-01-29 00-21-29"','"','')) --2020-01-29