時間:2024-03-13 13:56作者:下載吧人氣:22
昨天遇到一個floor向下取整的問題,現在將它記錄下來。
首先floor是需要一個int或者dp。那么我們日期加減轉換,timestamp 轉data,是需要先將其轉成char,再由char轉date,再相減,得出一個符合floor函數要求的值。
代碼如下:
FLOOR((to_date(to_char(current_timestamp, ‘yyyy-MM-dd hh:mi:ss’), ‘yyyy-mm-dd’)
– to_date(to_char(ca.birthday, ‘yyyy-MM-dd hh:mi:ss’), ‘yyyy-mm-dd’)) / 365) as age
同樣的,在java里面要想得到timestamp的當前時間,也是用util的date轉string再轉timestamp
補充:PostgreSQL的日期運算計算函數使用
SqlServer的連接符:+(加號)
Sqlite的連接符:.(點)
PostgreSQL的連接符:||(或)
今天在PostgreSQL計算日期的時候,翻了一些資料,很少,就記錄下來吧~!
其中使用到的函數及變量
to_char()、Date()、now()、current_date
計算兩個日期的差
current_date為今天的日期,為:2015-06-03
Date(‘2015-06-05′)-current_date=2
select to_char(current_date,’yyyy’)||’-‘||to_char(birthday,’mm-dd’),Date(to_char(current_date,’yyyy’)||’-‘||to_char(birthday,’mm-dd’))-current_date
from tablename where delflag=0 and status=0
and Date(to_char(current_date,’yyyy’)||’-‘||to_char(birthday,’mm-dd’))-current_date>=0
and Date(to_char(current_date,’yyyy’)||’-‘||to_char(birthday,’mm-dd’))-current_date<=7 order by birthday desc
網友評論