date - 带日期的 Hive 查询
问题描述
我有一个小问题,我想用 hive 查询过滤日期,但输出为空。我的专栏是字符串类型
我试过这个:
select * from my_table
where to_date(date) < to_date('01/08/19 00:00:00')
我的专栏日期的格式是01/08/19 18:00:00
解决方案
这种格式'01/08/19 00:00:00'
的日期不是可比较的格式,因为这种格式'02/08/19 00:00:00'
大于'01/08/20 00:00:00'
.
使用unix_timestamp
andfrom_unixtime
转换为可比较的格式 ( 'yyyy-MM-dd HH:mm:ss'
),然后与相同格式的日期进行比较。
select * from my_table
where from_unixtime(unix_timestamp(date,'dd/MM/yy HH:mm:ss'),'yyyy-MM-dd HH:mm:ss') < '2019-08-01 00:00:00'
推荐阅读
- lua - 如何将相同的代码放在 Lua 中的不同元方法中?
- python - 熊猫:选择具有最大列值的所有行
- asp.net-core - ASP.NET Core Microsoft 标识注销“方案字段是必需的”。
- typescript - 带有纱线工作区的 Oclif
- c# - 为什么我写的跳转代码不能使用 Unity3d?
- javascript - 添加具有特定 ID 的子节点。JS 和 DOM
- javascript - 从数组创建 HTML 表(特定于循环)
- python - 此模块需要 Ansible gc_storage error boto` 2.9+。尝试: pip install `boto` --upgrade"
- swift - 使用默认视图关闭 SwiftUI macOS 侧边栏 NavigationLink 详细视图
- python-3.x - 将python赋值分成多行