Sql 如何将此字符串转换为时间戳

Sql 如何将此字符串转换为时间戳,sql,hadoop,impala,Sql,Hadoop,Impala,我有一列数据,如“08.06.2017/10:20:46”。数据类型为字符串。我想把它转换成时间戳。 我试过CAST(“08.06.2017/10:20:46”作为时间戳),但它不起作用 你能帮我转换一下吗?? 感谢mysql,有一个函数叫做 你应该这样称呼它: STR_TO_DATE(string , format) 看看 如果是你的话,我会试试看 STR_TO_DATE('08.06.2017/10:20:46','%d.%m.%Y/%H:%i:%s') 编辑:对mysql的内容感到

我有一列数据,如“08.06.2017/10:20:46”。数据类型为字符串。我想把它转换成时间戳。 我试过CAST(“08.06.2017/10:20:46”作为时间戳),但它不起作用 你能帮我转换一下吗??
感谢mysql,有一个函数叫做

你应该这样称呼它:

STR_TO_DATE(string , format)
看看

如果是你的话,我会试试看

STR_TO_DATE('08.06.2017/10:20:46','%d.%m.%Y/%H:%i:%s') 
编辑:对mysql的内容感到抱歉,不知道我是否应该删除它。。。无论如何,对于黑斑羚来说,这可以让你开始:

cast(unix_timestamp('08.06.2017/10:20:46', "dd.MM.yyyy/HH:mm:ss") as timestamp)

强制转换是因为unix_timestamp函数返回一个bigint(查看了解有关impala datetime函数的更多信息)

对于mysql,有一个函数名为

你应该这样称呼它:

STR_TO_DATE(string , format)
看看

如果是你的话,我会试试看

STR_TO_DATE('08.06.2017/10:20:46','%d.%m.%Y/%H:%i:%s') 
编辑:对mysql的内容感到抱歉,不知道我是否应该删除它。。。无论如何,对于黑斑羚来说,这可以让你开始:

cast(unix_timestamp('08.06.2017/10:20:46', "dd.MM.yyyy/HH:mm:ss") as timestamp)
强制转换是因为unix_timestamp函数返回一个bigint(查看了解有关impala datetime函数的更多信息)

对于Oracle SQL

使用如下所示的日期函数

从DUAL中选择日期('08.06.2017/10:20:46','dd.mm.yyyy/hh:mi:ss')

这表示字符串是(dd.mm.yyyy/hh:mi:ss)形式的日期,并转换为日期列…

对于Oracle SQL

使用如下所示的日期函数

从DUAL中选择日期('08.06.2017/10:20:46','dd.mm.yyyy/hh:mi:ss')


这表示字符串是(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'));

蜂巢和黑斑羚处理日期的方式相似。您需要使用unix_timestamp函数来接受非标准日期格式,然后使用from_unixtime函数来转换为时间戳。下面的代码应该适用于您的示例

SELECT from_unixtime(unix_timestamp('08.06.2017/10:20:46','dd.MM.yyyy/hh:mm:ss'));

有人能帮我吗?你用的是哪种RBDM?mysql?有人能帮我吗?你用的是哪种RBDM?mysql?谢谢你的帮助。不幸的是,您在Mysql上的SQL在Impala上不起作用。黑斑羚使用另一种SQL功能,而不是mysql。我用一些黑斑羚参考资料编辑了我的答案,希望能对你的问题有所帮助:)谢谢。太好了。你能解释一下为什么我们可以使用unix\u时间戳吗?我一直认为这个函数只适用于datetime,但现在它适用于String。为什么我们需要使用dd.MM.yyyy/HH:MM:ss?我已经突出显示了我在回答的最后一部分中发布的链接,以帮助您实现这一点(在这里)。总之,unix_时间戳有三种实现:unix_时间戳()、unix_时间戳(字符串日期时间)、unix_时间戳(字符串日期时间、字符串格式)、unix_时间戳(时间戳日期时间)。我已经向您展示了第三个,它以一个日期字符串和一个格式字符串作为参数。格式字符串必须与输入日期字符串的格式匹配。。。就是这样:)很高兴能帮忙!谢谢你的帮助。不幸的是,您在Mysql上的SQL在Impala上不起作用。黑斑羚使用另一种SQL功能,而不是mysql。我用一些黑斑羚参考资料编辑了我的答案,希望能对你的问题有所帮助:)谢谢。太好了。你能解释一下为什么我们可以使用unix\u时间戳吗?我一直认为这个函数只适用于datetime,但现在它适用于String。为什么我们需要使用dd.MM.yyyy/HH:MM:ss?我已经突出显示了我在回答的最后一部分中发布的链接,以帮助您实现这一点(在这里)。总之,unix_时间戳有三种实现:unix_时间戳()、unix_时间戳(字符串日期时间)、unix_时间戳(字符串日期时间、字符串格式)、unix_时间戳(时间戳日期时间)。我已经向您展示了第三个,它以一个日期字符串和一个格式字符串作为参数。格式字符串必须与输入日期字符串的格式匹配。。。就是这样:)很高兴能帮忙!