昨天遇到一個floor向下取整的問題,現(xiàn)在將它記錄下來。
首先floor是需要一個int或者dp。那么我們?nèi)掌?a href="/article/119664.html">加減轉(zhuǎn)換,timestamp 轉(zhuǎn)data,是需要先將其轉(zhuǎn)成char,再由char轉(zhuǎn)date,再相減,得出一個符合floor函數(shù)要求的值。
代碼如下:
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的當(dāng)前時間,也是用util的date轉(zhuǎn)string再轉(zhuǎn)timestamp
補(bǔ)充:PostgreSQL的日期運算計算函數(shù)使用
一:各個數(shù)據(jù)中的連接符
SqlServer的連接符:+(加號)
Sqlite的連接符:.(點)
PostgreSQL的連接符:||(或)
二:
今天在PostgreSQL計算日期的時候,翻了一些資料,很少,就記錄下來吧~!
其中使用到的函數(shù)及變量
to_char()、Date()、now()、current_date
計算兩個日期的差
current_date為今天的日期,為:2015-06-03
1
2
3
4
5
|
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 |
三:
1
2
3
|
select now() + interval '1 days' ; select now() + interval '1 month' ; select now() + interval '1 years' ; |
四:
SqlServer中進(jìn)行日期計算時,用到函數(shù)
1
2
3
4
5
|
CONVERT (),DATEPART(),getDate() select CONVERT ( varchar (10), CONVERT ( varchar (4),DATEPART( year ,getDate()))+ '-' + CONVERT ( varchar (2),DATEPART( month ,birthday))+ '-' + CONVERT ( varchar (2),DATEPART( day ,birthday)),120),datediff( day , CONVERT ( varchar (10),getdate(),120), CONVERT ( varchar (10), CONVERT ( varchar (4),DATEPART( year ,getDate()))+ '-' + CONVERT ( varchar (2),DATEPART( month ,birthday))+ '-' + CONVERT ( varchar (2),DATEPART( day ,birthday)),120)) from tablename where delflag=0 and status=0 and datediff( day , CONVERT ( varchar (10),getdate(),120), CONVERT ( varchar (10), CONVERT ( varchar (4),DATEPART( year ,getDate()))+ '-' + CONVERT ( varchar (2),DATEPART( month ,birthday))+ '-' + CONVERT ( varchar (2),DATEPART( day ,birthday)),120))<=7 and datediff( day , CONVERT ( varchar (10),getdate(),120), CONVERT ( varchar (10), CONVERT ( varchar (4),DATEPART( year ,getDate()))+ '-' + CONVERT ( varchar (2),DATEPART( month ,birthday))+ '-' + CONVERT ( varchar (2),DATEPART( day ,birthday)),120))>=0 order by birthday desc |
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。如有錯誤或未考慮完全的地方,望不吝賜教。
原文鏈接:https://blog.csdn.net/qq_40894047/article/details/84652707