如何将此字符串转换为时间戳
How to convert this String to Timestamp
我有一列包含这样的数据“08.06.2017/10:20:46”。数据类型为字符串。我想把它转换成时间戳。
我试过 CAST("08.06.2017/10:20:46" AS TIMESTAMP) 但它不起作用
你能帮我转换一下吗??
谢谢
对于mysql,有一个函数叫做STR_TO_DATE
你应该这样称呼它:
STR_TO_DATE(string , format)
在你的情况下,我会尝试
STR_TO_DATE('08.06.2017/10:20:46','%d.%m.%Y/%H:%i:%s')
编辑: 对 mysql 的东西感到抱歉,不知道我是否应该删除它...无论如何,对于 impala,这可以让你开始:
cast(unix_timestamp('08.06.2017/10:20:46', "dd.MM.yyyy/HH:mm:ss") as timestamp)
转换是因为 unix_timestamp 函数 returns 是一个 bigint(请查看 here 以获取有关 [=35= 的更多信息] 日期时间函数)
对于 Oracle SQL,
使用to_date函数如下,
SELECT TO_DATE('08.06.2017/10:20:46','dd.mm.yyyy/hh:mi:ss') FROM DUAL;
这表明字符串是这种(dd.mm.yyyy/hh:mi:ss)形式的日期并转换为日期列...
Hive 和 Impala 以类似的方式处理日期。您需要使用函数 unix_timestamp 接受非标准日期格式,然后使用 from_unixtime 函数转换为时间戳。下面的代码应该适用于您的示例。
SELECT from_unixtime(unix_timestamp('08.06.2017/10:20:46','dd.MM.yyyy/hh:mm:ss'));
我有一列包含这样的数据“08.06.2017/10:20:46”。数据类型为字符串。我想把它转换成时间戳。 我试过 CAST("08.06.2017/10:20:46" AS TIMESTAMP) 但它不起作用 你能帮我转换一下吗?? 谢谢
对于mysql,有一个函数叫做STR_TO_DATE
你应该这样称呼它:
STR_TO_DATE(string , format)
在你的情况下,我会尝试
STR_TO_DATE('08.06.2017/10:20:46','%d.%m.%Y/%H:%i:%s')
编辑: 对 mysql 的东西感到抱歉,不知道我是否应该删除它...无论如何,对于 impala,这可以让你开始:
cast(unix_timestamp('08.06.2017/10:20:46', "dd.MM.yyyy/HH:mm:ss") as timestamp)
转换是因为 unix_timestamp 函数 returns 是一个 bigint(请查看 here 以获取有关 [=35= 的更多信息] 日期时间函数)
对于 Oracle SQL,
使用to_date函数如下,
SELECT TO_DATE('08.06.2017/10:20:46','dd.mm.yyyy/hh:mi:ss') FROM DUAL;
这表明字符串是这种(dd.mm.yyyy/hh:mi:ss)形式的日期并转换为日期列...
Hive 和 Impala 以类似的方式处理日期。您需要使用函数 unix_timestamp 接受非标准日期格式,然后使用 from_unixtime 函数转换为时间戳。下面的代码应该适用于您的示例。
SELECT from_unixtime(unix_timestamp('08.06.2017/10:20:46','dd.MM.yyyy/hh:mm:ss'));