Presto SQl中使用date_format()和date_parse()遇到的問題

昨天在Presto中查數據,查出來數據不對,後來發現是我使用date_parse()函數有問題函數

我須要查2018年12月31號到2019年1月6號之間的數據,spa

我使用的時間過濾方式是rest

and behavior_datetime >= date_parse('12/31/2018', '%m/%d/%Y') and behavior_datetime <= date_parse('01/06/2019', '%m/%d/%Y')

結果查出來的數據不對code

臨時也沒多想,換成了date_format()來查就對了.過濾方式以下orm

and date_format(behavior_datetime,'%Y-%m-%d')>= '2018-12-31' 
and date_format(behavior_datetime,'%Y-%m-%d')<= '2019-01-06'

其實後來發現錯誤的緣由是date_parse()是將參數中的時間轉換成時間戳來比較的,那麼 01/06/2019 其實是轉換成  01/06/2019 00;00:00 再轉成時間戳的blog

個人時間區間小於01/06/2019 00;00:00 這個時間戳, 其實就沒取到1月6號這一天的時間io

比較條件換成小於1月7號零點的時間(以下)form

and behavior_datetime >= date_parse('12/31/2018', '%m/%d/%Y') and behavior_datetime < date_parse('01/07/2019', '%m/%d/%Y')

就沒有任何問題了class

相關文章
相關標籤/搜索