BETWEEN...AND
between...and...
主要用來篩選數值類型跟時間類型的字段 (字符串其實也可以,但需要了解Hive怎麼對文字的排序方式,不建議使用)。須由小至大;另外,hive中的between...and...
是包括邊界值的、not between...and...
則不包括邊界值。
BETWEEN...AND... 數值
從返回結果可以看出不包含1.1,驗證not between...and...
不包括邊界值
BETWEEN...AND... 時間
前面提過,如果日期是到天的,那麼默認的時分秒為00:00:00,因此在此例中,and 後的日期為2020 年1 月2日,就等價於2020-01-02 00:00:00 ,那麼2020-01-02 00:30:29 的數據就查不到了。
如果要查到2020-01-02這一整天的數據,那麼在取值的時候需要加1天,即BETWE '2020-01-01' AND '2020-01-03',這樣返回的就是1月1日(含)到1月2日(含)的所有數據了。
然而實務上,利用時間處理函數進行處理會是更常見的做法,在<用函數高效的處理數據>的章節將詳細介紹。
Last updated