我是个新手。我有一个employee表,其中有一列指定了加入日期,我希望检索在过去3个月中加入的员工列表。我知道我们可以使用from_unixtime(unix_timestamp())获取当前日期。我如何计算日期?在DATEDIFF()函数中是否有类似于MS的内置函数?请指点!
发布于 2015-05-29 15:46:39
datediff(to_date(String timestamp), to_date(String timestamp))例如:
SELECT datediff(to_date('2019-08-03'), to_date('2019-08-01')) <= 2;发布于 2017-12-06 21:04:32
如果您需要以秒为单位(即:您将日期与时间戳进行比较,而不是整天),则可以使用unix_timestamp()将两个或两个时间戳字符串转换为‘YYYY DD HH:MM:SS’格式(或显式指定字符串日期格式),然后将它们相减,以在秒内得到差异。(然后可以除以60.0获得分钟,再除以3600.0获得小时,等等)
示例:
UNIX_TIMESTAMP('2017-12-05 10:01:30') - UNIX_TIMESTAMP('2017-12-05 10:00:00') AS time_diff -- This will return 90 (seconds). Unix_timestamp converts string dates into BIGINTs. 更多关于如何使用unix_timestamp()的信息,包括如何转换具有不同日期格式的字符串:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions
发布于 2015-05-29 05:30:11
实现了yes datediff;请参见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
顺便说一下,我在谷歌搜索“蜂巢日期”时发现了这一点,这是第一个结果;)
https://stackoverflow.com/questions/30521669
复制相似问题