【日期型数据的处理】

Oracle数据库中,日期型数据按照特定内部格式存储,默认格式为DD-MON-RR。SYSDATE函数用于获取当前系统日期和时间。日期可以与数字进行加减运算,结果仍为日期型,两个日期相减得到天数。在中文环境下,日期格式也可支持中文月份。此外,可以计算员工工龄等日期差值应用。
摘要由CSDN通过智能技术生成

Oracle的日期型数据的内部存储格式为:世纪,年,月,日,时,分,秒。不论您的输入格式如何,Oracle永远按它的内部存储格式来存储日期型数据。

Oracle9i 日期型数据输入和输出的默认格式为 DD-MON-RR,而在之前的版本中为DD-MON-YY这大概是为了绕开“2000年问题”。

同其他的系统一样,Oracle 也提供了系统日期函数 SYSDATE,它返回当前的系统时间。可以使用例4-26的查询语句来得到当前的系统时间。

例4-26

SQL> SELECT SYSDATE 2 FROM dual;例4-26结果SYSDATE

05-MAY-02

您可以把一个日期型数据和一个数字相减,其结果仍为日期型。可以使用例4-27的查询语句来进行验证。

例4-27

SQL> SELECT SYSDATE - 10

2 FROM dual;

例4-27结果

SYSDATE-1

25-APR-02

您也可以把一个日期型数据和一个数字相加,其结果仍为日期型。您可以使用例4-28 的查询语句来进行验证。

例4-28

SQL> SELECT SYSDATE + 10

2 FROM dual;

例4-28结果

SYSDATE+1

15-MAY-02

可以把两个日期型数据相减,其结果为数字型。您可以使用例4-29的查询语句来进行验证。

例4-29

SQL> SELECT TO_DATE('15-JUL-02')- SYSDATE

2 FROM dual;

例4-29结果

TO_DATE('15-JUL-02')-SYSDATE

70.373669

如果您的操作系统和数据库都是中文系统的话,也可以将例4-29的查询语句改为例4-29a的SQL语句。例4-29a

SQL> SELECT TO_DATE('15-5月-03')- SYSDATE

2 FROM dual;

例4-29a结果

TO_DATE('15-5月-03')-SYSDATE

6.35358796

您也可以把一个日期型数据和一个小时数相加减,这个数要除以24,其结果仍为日期型。您可以使用例4-30和例4-31的查询语句来进行验证。

例4-30

SQL> SELECT SYSDATE - 22/24

2 FROM dual;

例4-30结果

SYSDATE-2

04-MAY-02

例4-31

SQL> SELECT SYSDATE + 22/24

2 FROM dual;

例4-31结果

SYSDATE+2

06-MAY-02

您也可以使用例4-32的查询语句来得到所有推销员的工龄。例4-32

SQL> SELECT empno, ename,job, sal, (SYSDATE-hiredate)/365 "Years"

2 FROM emp

3 WHERE job LIKE 'SAL%';

例4-32结果

JOB  EMPNO ENAME Years SAL

7499 ALLEN SALESMAN 1600 21.2182074

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值