Presto中NOW()函数返回值对应Schema的正确数据类型是什么
Presto NOW()函数返回类型及对应Schema配置说明
NOW()函数的返回数据类型为 带时区的时间戳,Presto官方标准类型名是TIMESTAMP WITH TIME ZONE,返回值默认继承当前会话的时区设置,精度到毫秒级。
你可以直接执行下面的语句自行验证返回类型:
SELECT typeof(NOW());
执行后输出结果为 timestamp with time zone。
- 如果你需要在Presto Schema中定义字段存储
NOW()的返回结果,默认应填写的正确数据类型就是TIMESTAMP WITH TIME ZONE。
如果你的业务场景不需要保留时区信息,也可以显式将NOW()的返回结果做类型转换后存储:
SELECT CAST(NOW() AS TIMESTAMP);
这种情况下Schema对应填写 TIMESTAMP 类型即可。
注意:跨时区业务场景优先选择
TIMESTAMP WITH TIME ZONE类型,可避免后续时间换算出现误差。
内容的提问来源于stack exchange,提问作者Mark Ginsburg
相关产品推荐
相关产品推荐

