ORACLE日期函数

摘要:
以时间2007-11-0213:45:25为例日期字段格式英文解释显示值Yearyytwodigits两位年07yyythreedigits三位年007yyyyfourdigits四位年2007Monthmmnumber两位月11monabbreviated字符集表示11月(nov)monthspelledout字符集表示11月(november)Dayddnumber当月第几天02dddnumb

以时间2007-11-02134525为例

日期字段

格式

英文

解释

显示值

Year

yy

twodigits

两位年

07

yyy

threedigits

三位年

007

yyyy

fourdigits

四位年

2007

Month

mm

number

两位月

11

mon

abbreviated

字符集表示

11月(nov

month

spelledout

字符集表示

11月(november

Day

dd

number

当月第几天

02

ddd

number

当年第几天

02

dy

abbreviated

当周第几天简写

星期五(fri

day

spelledout

当周第几天全写

星期五(friday

Hour

hh

twodigits

12小时制

01

hh24

twodigits

24小时制

13

Minute

mi

twodigits

60进制

45

Second

ss

twodigits

60进制

25

Others

Q

digit

季度

4

WW

digit

当年第几周

44

W

digit

当月第几周

1

select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual;

年:

YY :两位年 16

YYY :三位年 016

YYYY :四位年 2016

季度

Q :返回季度

月份

MM :

MON :

MONTH:

WW :

W :

DD :

DDD :

DY :

DAY :

小时

HH:

HH24 :

MI :

SS:

1.获取当前系统日期

--返回当前系统日期
SELECT SYSDATE FROM DUAL;

2.返回系统日期的年份

  • 两位年
SELECT TO_CHAR(SYSDATE,'YY') FROM DUAL;
  • 三位年
select TO_CHAR(SYSDATE,'YYY')FROM DUAL;
  • 四位年
SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;

3.返回季度

 SELECT TO_CHAR(SYSDATE,'Q') FROM DUAL;

4.返回日期的月份

月份数字 :

SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;

月份英文缩写:

 SELECT TO_CHAR(SYSDATE,'MON') FROM DUAL;

月份全英文:

SELECT TO_CHAR(SYSDATE,'MONTH') FROM DUAL;

5.返回周

当年第几周

 SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL;

当月第几周

 SELECT TO_CHAR(SYSDATE,'W') FROM DUAL;

6.返回日期的天数

当月第几天

 SELECT TO_CHAR(SYSDATE,'DD') FROMDUAL;

当年第几天

   SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;  

本周星期几缩写

SELECT TO_CHAR(SYSDATE,'DY') FROM DUAL;

本周星期几全称  

SELECT TO_CHAR(SYSDATE,'DAY') FROM DUAL;

7.返回小时

十二:  SELECT TO_CHAR(SYSDATE,'HH') FROMDUAL;
 二十四:SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL;

返回时间的分

 SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL;

8.返回秒

SELECT TO_CHAR(SYSDATE,'SS') FROMDUAL;

/********************************华丽的分割线************************************/

1.获取当前月份的第一天

SELECT TRUNC(SYSDATE,'MONTH') FROM DUAL;

2.获取当前月份的最后一天

SELECT TRUNC(LAST_DAY(SYSDATE)) FROM DUAL;

3.获取当前年份的第一天

SELECT TRUNC(SYSDATE,'YEAR') FROM DUAL;

4.获取当前年份的最后一天

SELECT TRUNC(LAST_DAY(SYSDATE)) FROM DUAL;

5.获取当前月份的天数

SELECT CAST(TO_CHAR(LAST_DAY(SYSDATE),'DD') AS INT) FROM DUAL;

6.获取当前月份剩下的天数

SELECT SYSDATE , LAST_DAY(SYSDATE) ,LAST_DAY(SYSDATE)-SYSDATE FROM DUAL;

7.获取两个日期之间的天数

SELECT ROUND(SYSDATE - TRUNC(SYSDATE,'YEAR')) FROM DUAL;

8.获取直到目前为止今天过去的秒数

SELECT (SYSDATE - TRUNC (SYSDATE)) * 24 * 60 * 60num_of_sec_since_morning
  FROM DUAL;

9.获取今天剩下的秒数

SELECT (TRUNC (SYSDATE+1) - SYSDATE) * 24 * 60 * 60num_of_sec_left
  FROM DUAL;

10.获取两个日期的月份差

select months_between(trunc(to_date('2010-03-02','yyyy-mm-dd'),'mm') , trunc(to_date('2010-02-10','yyyy-mm-dd'),'mm')) from dual;

11.获取两个日期的天数差

select to_date('2010-03-02','yyyy-mm-dd')-to_date('2010-02-10','yyyy-mm-dd') from dual;

12.获取两个日期的年份差

select months_between(to_date('2010-03-01','yyyy-mm-dd') , to_date('2007-03-01','yyyy-mm-dd'))/12 from dual;

/********************************************/

1.生成随机数

SELECT ROUND (DBMS_RANDOM.VALUE () * 100) + 1 AS random_num FROM DUAL;

免责声明:文章转载自《ORACLE日期函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇设立主机——godaddy主机使用说明之一Ubuntu9.10更新源下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在oracle中自动大批量生成测试数据

方法1: SQL> create table b as select 1 id from dual connect by level<=100;    方法2:   SQL> create table a (id int);   Table created.   SQL> insert into a select 1 from d...

mybatis的嵌套查询(嵌套查询nested select和嵌套结果nested results查询)区别

(转自:http://blog.csdn.net/canot/article/details/51485955) Mybatis表现关联关系比hibernate简单,没有分那么细致one-to-many、many-to-one、one-to-one。而是只有两种association(一)、collection(多),表现很简洁。下面通过一个实例,来展示...

zabbix历史数据相关表研究

zabbix历史数据相关表研究 history和trends相关表 history和trends都是存储历史数据的地方。一般是通过监控项(item)配置里、匹配更新监控项(item)和设置HouseKeeper tasks来设置保留数据的时长。 Housekeeper 会定期删除过期的数据。如果不是特别有意义,建议你把保留时间设置短一些, 如果想看以前的数...

mysql select 拼接字段结果CONCAT和CONCAT_WS

CONCAT(str1,str2,...) 将参数连接成字符串返回。如果有任何一个参数为 NULL,返回值也为 NULL。可以有超过 2 个的参数。数字参数将被转换为相等价的字符串形式: mysql> SELECT CONCAT( 'My ', 'S ', 'QL '); -> 'MySQL ' mysql> SELECT CONCAT(...

oracle下如何执行一个本地的.sql脚本文件

分析: 我们通常在开发过程中会遇到很多程序修改或者批量修改数据的时候,会选择脚本的文件的形式通过命令来执行,那么怎么用plsql或者sqlplus执行sql脚本文件呢? 说明: 如果说现在在c盘盘符下放置了一个我们需要执行的create.sql脚本文件,如果说用sqlplus去执行这个脚本文件: 1、进入到运行命令窗口。 2、登录sqlplus conne...

SAP ERP 与 Oracle ERP 比较

本报告对SAP和ORACLE两家公司的ERP产品,从公司实力、软件功能、产品成熟度、产品技术和产品实施等几个纬度进行比较,以使企业能够更好的了解哪个产品更适合自己。     1:软件产品的成熟度     § SAP:经过近30年与全球大企业用户的合作,SAP系统积累了大量先进企业的业务管理流程。对于用户来说,只需根据在系统中挑选适当的业务流程,在软件中进...