oracle中最簡單獲取日期的方式是通過查詢sysdate來獲取。
創(chuàng)新互聯(lián)是一家成都網站設計、成都網站建設,提供網頁設計,網站設計,網站制作,建網站,按需定制,網站開發(fā)公司,于2013年開始是互聯(lián)行業(yè)建設者,服務者。以提升客戶品牌價值為核心業(yè)務,全程參與項目的網站策劃設計制作,前端開發(fā),后臺程序制作以及后期項目運營并提出專業(yè)建議和思路。
語句如下:
select?sysdate?from?dual;
結果:
如果只獲取日期部分:
select?to_char(sysdate,'yyyy-mm-dd')?from?dual;
結果:
如果表中的日期字段是date格式: select sysdate - 日期字段 from 表名; 如果表中的日期字段是char或者varchar或者varchar2格式: select sysdate - to_date(日期字段, 'yyyymmdd') from 表名;
coolite
中datefield要是想顯示成xxxx-xx-xx的形式
可以添加屬性format="y-m-d"
xxxx年xx月xx日是format="y年m月d日"
要是想獲取選中的時間一般是用selectdate(選中時間)這是datetime型的
想獲得字符串行的年月日datefield.selectdate.tostring("yyyy-mm-dd");
當然也可以用selectvalue(oblect)
~~~
1、獲取當天是禮拜幾:selectto_char(sysdate,'d')fromdual;--禮拜天為1,禮拜一為2,類推
2、獲取 兩個時間段間的 工作日:
select(trunc(end_dt - start_dt) -
((case
WHEN(8- to_number(to_char(start_dt,'D'))) trunc(end_dt - start_dt) +1THEN0
ELSE
? ? ? trunc((trunc(end_dt - start_dt) -
(8- to_number(to_char(start_dt,'D'))))/7) +1END) +
(case
WHENmod(8- to_char(start_dt,'D'),7) trunc(end_dt - start_dt) -1THEN0
ELSE
trunc((trunc(end_dt - start_dt) - (mod(8- to_char(start_dt,'D'),7) +1))/7) +1END)))
asworkingdays
fromdual
下面的sql可以直接運行:
select(trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) -
((case
WHEN(8- to_number(to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'))) trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) +1THEN0
ELSE
trunc((trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) -
(8- to_number(to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'))))/7) +1END) +
(case
WHENmod(8- to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'),7) trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) -1THEN0
ELSE
trunc((trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) - (mod(8- to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'),7) +1))/7) +1END)))
asworkingdays
fromdual
~~~