oracle中最简单获取日期的方式是通过查询sysdate来获取。
创新互联是一家成都网站设计、成都网站建设,提供网页设计,网站设计,网站制作,建网站,按需定制,网站开发公司,于2013年开始是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。
语句如下:
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
~~~