问题描述
我有这样的数据:
2019-12-11 23:38:26.583
我想收到回复:
583
即只是毫秒部分。
在 Hive sql 中,有 second()
、hour()
、minute()
等函数可以让您非常轻松地提取这些元素,但我没有看到 {{ 1}}。我试过了,它没有做任何事情,即它不存在。那我如何才能做到这一点?
谢谢:)
解决方法
您可以使用date_format
:
select date_format('2019-12-11 23:38:26.583','SSS');
请注意,这将返回字符串类型。如果你想要 int 类型,你可以相应地强制转换:
select cast(date_format('2019-12-11 23:38:26.583','SSS') as int);
,
另一种使用 regexp_extract 的方法:
select regexp_extract('2019-12-11 23:38:26.022','\\.(\\d+)$',1);
结果:
022