方法1
select * from 表 where openid='****' order by (fwsj - to_timestamp(to_char(fwsj,'YYYY-MM-DD'),'YYYY-MM-DD')) limit 1;
取最早時間 倒序排序取最晚時間
方法2:
select * from 表 where openid='***' order by (extract(epoch FROM(fwsj - to_timestamp(to_char(fwsj,'YYYY-MM-DD'),'YYYY-MM-DD')))) ;
參考案例
select
fwsj
,to_char(fwsj,'YYYY-MM-DD')
,to_timestamp(to_char(fwsj,'YYYY-MM-DD'),'YYYY-MM-DD')
,fwsj - to_timestamp(to_char(fwsj,'YYYY-MM-DD'),'YYYY-MM-DD')
,extract(epoch FROM(fwsj - to_timestamp(to_char(fwsj,'YYYY-MM-DD'),'YYYY-MM-DD')))
from 表;
部分函數介紹
– 獲取當前時間
select now();
select CURRENT_TIMESTAMP;
– to_char
to_char(timestamp, text) 將時間戳轉爲字符串
– to_timestamp
to_timestamp(text, text) 將字符串轉換爲時間戳
– 時間戳相減
結果我爲時間戳 可以相減得到的也是時間戳格式
– extract()
該extract功能從日期/時間值中檢索子字段
使用1: extract(field from timestamp)
使用2:執行減法的一種簡單方法是使用將每個值轉換爲秒數EXTRACT(EPOCH FROM …)