sql转换字符串,格式为yyyy-mm-ddthh:mm:ssz到datetime

7y4bm7vi  于 2021-05-27  发布在  Hadoop
关注(0)|答案(2)|浏览(354)

我有一个字符串格式的变量,比如2019-11-25t14:22:56.529z。我需要提取这个字符串变量的日期部分,并提取所有具有最新日期的记录。

ID   time (in string format, not a timestamp yet)
-------------------------------
1    2019-11-25T15:20:56.539Z
2    2019-11-25T04:23:56.522Z
3    2019-11-25T11:11:54.509Z
4    2019-12-25T10:22:36.129Z
5    2019-12-25T09:22:29.349Z
6    2019-12-25T08:22:56.209Z

我想要这个输出:

ID   time
---------------
4    2019-12-25
5    2019-12-25
6    2019-12-25

一般来说,我还想知道如何将这种类型的字符串变量转换为日期格式,以便将来按日期时间排序。谢谢您!

k75qkfdt

k75qkfdt1#

只需使用substring函数

select substr(time,1,10) as date from tablename;

更新这个将转换回日期,你可以做你的排序

select cast(substr(time,1,10) as date) as date from tablename;
idfiyjo8

idfiyjo82#

你可以做到如下:

SELECT ID, FROM_UNIXTIME(UNIX_TIMESTAMP(time, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"),"yyyy-MM-dd") as time
FROM yourtable

相关问题