【发布时间】:2018-04-24 04:19:59
【问题描述】:
我需要从 Presto 中的日期时间截断时间。 我注意到我不能使用 Redshift 中使用的 Trunc() 函数来实现相同的目的。
date_trunc() 返回一个时间戳,再次重置为开始。
【问题讨论】:
标签: date datetime truncate presto
我需要从 Presto 中的日期时间截断时间。 我注意到我不能使用 Redshift 中使用的 Trunc() 函数来实现相同的目的。
date_trunc() 返回一个时间戳,再次重置为开始。
【问题讨论】:
标签: date datetime truncate presto
Cast日期时间到日期
CAST(x AS DATE)
date(x) -- This is an alias for CAST(x AS DATE).
如果要转换的日期/时间值保存为字符串,则此类转换可能会失败;其中推荐使用TRY_CAST(),因为如果转换失败则返回NULL。
【讨论】:
try_cast 对于可能失败的转换可能很有用,例如varchar 到number——不是每个文本都是全数字的,因此这个转换是一个部分函数。从timestamp 到date 的转换不会失败,因为每个时间戳都有一个日期组件,这个转换是一个函数(不是部分函数)。 TL;DR try_cast 在这种情况下没有用处。
try_cast() 是针对您可能(不幸地)必须处理存储为字符串的日期/时间数据的任何人。所以我希望这一点更加明显。谢谢。