GBase数据库-时间函数
GBase數據庫-時間函數
- DAY和CURRENT函數
- MONTH函數
- WEEKDAY函數
- YEAR函數
可以在查詢的projection子句或WHERE子句中使用時間函數DAY,MONTH,WEEKDAY,YEAR。這些函數返回與用來調用函數的表達式或參數對應的值。還可以使用CURRENT或SYSDATE函數返回具有當前日期和時間的值,或者使用EXTEND函數調整DATE或DATETIME值。
DAY和CURRENT函數
下列查詢兩個expression列中對call_time和res_dtime列返回日期(一個月中的某一天)
select customer_num,DAY(call_time),DAY(res_dtime) from cust_calls;查詢結果如下:
customer_num expression expression 106 12 12 110 7 7 116 28 28下列查詢使用DAY和CURRENT函數來將列值與當前日期進行比較。它只選擇值比當前日期早的那些行。在此例中,CURRENT日是15。
select customer_num,DAY(call_time),DAY(res_dtime) from cust_calls where DAY(call_time)<DAY(CURRENT);查詢結果如下:
customer_num expression expression 106 12 12 110 7 7SYSDATE函數與CURRENT函數及其類似,但當未指定DATETIME限定符時,其返回值的缺省精度是DATETIME YEAR TO FRACTION(5),而不是CURRENT的缺省精度DATETIME YEAR TO FRACTION(3)。
MONTH函數
下列查詢使用MONTH函數來抽取和顯示在哪個月份接收和處理客戶來電,并且將對結果使用顯示標簽。但是,它不區分年份。
select customer_num,MONTH(call_time) call_month,MONTH(res_dtime) res_month from cust_calls;查詢結果如下:
customer_num call_month res_month 106 6 6 110 7 7如果DAY比當前日期早,那么下列查詢使用MONTH函數和DAY及CURRENT來顯示哪個月份接收和處理客戶來電。
select customer_num,MONTH(call_time) call_month,MONTH(res_dtime) res_month from cust_calls where DAY(call_time)<DAY(CURRENT);查詢結果如下:
customer_num call_month res_month 106 6 6 110 7 7WEEKDAY函數
下列查詢使用WEEKDAY函數來指示在星期幾接收并處理來電(0表示星期日,1表示星期一,以此類推),并標記表達式列。
select customer_num,WEEKDAY(call_time) called,WEEKDAY(res_dtime) resolved from cust_calls order by resolved ;查詢結果如下:
customer_num called resolved 127 3 6 110 0 0下列查詢使用COUNT和WEEKDAY函數來對在周末收到的來電進行計數。
select count(*) from cust_calls where WEEKDAY(call_time) in (0,6);查詢結果如下:
(count(*))4YEAR函數
下列查詢檢索call_time比當前年份的開始早的行。
select customer_num,YEAR(call_time) call_year,YEAR(res_dtime) res_year from cust_calls where YEAR(call_time)<YEAR(TODAY);查詢結果如下:
customer_num call_year res_year 116 1997 1997除了以上示例說明的內置時間函數之外,GBase 8s還支持ADD_MONTH,LAST_DAY,MDY,MONTHS_BETWEEN,NEXT_DAY和QUARTER函數。除了這些函數,TRUNC和ROUND函數也可返回更改DATE和DATETIME參數精度的值。
總結
以上是生活随笔為你收集整理的GBase数据库-时间函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二维计算几何基础题目泛做(SYX第一轮)
- 下一篇: syx278250658