Firebird日期时间操作
最近在使用Firebird數據做 一項目,使用FireBird邊用邊學。(以下轉貼)
查詢2007年度以后的,12月份以上的數據記錄,datetime為timestamp字段
select * from?tableblob?where extract(month from?datetime)=12 and extract(year from?datetime)>2007
查詢不重復的(年份+月份)組合,datetime為timestamp字段
select distinct (extract(year from?datetime)||extract(month from?datetime)) from?tableblob
獲取當前年(其它如year,month,day,hour,minute,second,week,weekday等,都可以獲取):
select extract(year from current_timestamp) from rdb$database
select extract(week from current_timestamp) from rdb$database
?
日期時間操作
FB中獲得時間的操作符:
CURRENT_DATE : 當前日期
CURRENT_TIME : 當前時間
CURRENT_TIMESTAMP: 當前的日期時間,也稱時間戳
從時間類型中獲得信息的操作符:
EXTRACT(.. FROM ..)
Select EXTRACT(.. FROM ..) from RDB$DATABASE
如果返回值不存在時間值中會報錯.
時間類型中的年份 EXTRACT(YEAR from CURRENT_TIMESTAMP); EXTRACT(YEAR from CAST('2005-8-1' as Date))=2005
??????? 月份 EXTRACT(MONTH from CURRENT_TIMESTAMP); EXTRACT(MONTH from CAST('2005-8-1' as Date))=8
??????? 日期 EXTRACT(DAY from CURRENT_TIMESTAMP); EXTRACT(DAY from CAST('2005-8-1' as Date))=1
??????? 天數 EXTRACT(YEARDAY from CURRENT_TIMESTAMP) ;EXTRACT(YEARDAY from CAST('2005-8-1' as Date))=212
??????? 星期幾 EXTRACT(YEARDAY from CURRENT_TIMESTAMP); EXTRACT(DAY from CAST('2005-8-1' as Date))=1
CAST('Now' as Timestamp) 相當于 Current_Timestamp
CAST('ToDay' as Date)?? 今天的日期
CAST('yesterday' as Date') 昨天的日期
?
| 如何取兩個日期相差的年數 |
| 在FIREBIRD中怎樣才能取得兩個日期字段相差的年數,比如2000-05-3與2007-09-12相差幾年,有比(cast('2000-05-03' as date)-cast('2007-09-12' as date))/365更好的方法嗎? http://www.firebird.net.cn/forum_view.asp?forum_id=1&view_id=379&page=1 |
?
select extract(year from cast('2008-1-1' as date))
??? -extract(year from cast('2007-1-1' as date))
from rdb$database
轉載于:https://www.cnblogs.com/Thenext/p/9408349.html
總結
以上是生活随笔為你收集整理的Firebird日期时间操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python做web开发,推荐几个能立马
- 下一篇: 我们距离AI编程还有多远?