oracle extract函数笔记

一、作用:从一个date(日期)类型或者interval(时间区间)类型中截取指定的部分。

二、范例
获取系统当前时间


select sysdate from dual ;

SYSDATE

-----------

2016/1/3 18

分别获取对应的年月日时分秒


(1)select (to_char(sysdate,‘YYYY‘)) from dual

(2)select (to_char(sysdate,‘YEAR‘)) from dual

(1)结果:2015  (2)结果:TWENTY FIFTEEN


(1)select (to_char(sysdate,‘MM‘)) from dual

(2)select (to_char(sysdate,‘MONTH‘)) from dual

(1)结果:11  (2)结果:11月


(1)select (to_char(sysdate,‘DD‘)) from dual

(2)select (to_char(sysdate,‘DAY‘)) from dual

(1)结果:26  (2)结果:星期四

判断一个字符串是否是一个有效的时间的函数,如果是有效时间则返回1,如果不是则返回0


CREATE OR REPLACE FUNCTION xiaoxing_is_date(parameter VARCHAR2) RETURN NUMBER IS

val DATE;

BEGIN

val := TO_DATE(NVL(parameter, ‘a‘), ‘yyyy-mm-dd hh24:mi:ss‘);

RETURN 1;

EXCEPTION

WHEN OTHERS THEN

RETURN 0;

END;


select extract(year from sysdate) year from dual ;

YEAR

----------

2016

获取date中的月


select extract(month from sysdate) month from dual ;

MONTH

----------

1

获取date中的天


select extract(day from sysdate) day from dual;

DAY

----------

3

获取两个日期之间具体的时间间隔

date是常用的日期类型,时间间隔是秒,他们两个类型相减得到的时间间隔结果单位是“天”。

timestamp是date类的扩展,没有什么实质的区别,只是timestamp比date取值更精确而已。

范例:to_timestamp()


select to_timestamp(‘2015-02-15 22:22:22‘,‘yyyy-mm-dd hh24:mi:ss‘) from dual ;

TO_TIMESTAMP(‘2015-02-1522:22:

--------------------------------------------------------------------------------

15-2月 -15 10.22.22.000000000 下午

范例:to_date()


select to_date(‘2015-02-15 22:22:22‘,‘yyyy-mm-dd hh24:mi:ss‘) from dual ;

TO_DATE(‘2015-02-1522:22:22‘,‘

------------------------------

2015/2/15 22:22:22

范例:计算两个to_timestamp()的值


select to_timestamp(‘2016-02-15 22:22:22‘, ‘yyyy-mm-dd hh24:mi:ss‘) -

to_timestamp(‘2016-01-04 10:55:55‘, ‘yyyy-mm-dd hh24:mi:ss‘)

from dual;

TO_TIMESTAMP(‘2016-02-1522:22:

---------------------------------------

+000000042 11:26:27.000000000

范例:计算两个to_date()的值


select to_date(‘2016-02-15 22:22:22‘, ‘yyyy-mm-dd hh24:mi:ss‘) -

to_date(‘2016-01-04 10:55:55‘, ‘yyyy-mm-dd hh24:mi:ss‘)

from dual;

TO_DATE(‘2016-02-1522:22:22‘,‘

------------------------------

42.4767013888889


select systimestamp from dual ;

SYSTIMESTAMP

--------------------------------------------------------------------------------

03-1月 -16 07.42.08.795266 下午 +08:00

范例:


select extract(year from systimestamp) year

,extract(month from systimestamp) month

,extract(day from systimestamp) day

,extract(minute from systimestamp) minute

,extract(second from systimestamp) second

,extract(timezone_hour from systimestamp) th

,extract(timezone_minute from systimestamp) tm

,extract(timezone_region from systimestamp) tr

,extract(timezone_abbr from systimestamp) ta

from dual ;

YEAR      MONTH        DAY     MINUTE     SECOND         TH         TM TR                                                               TA

---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------------------------------------------------------------- ----------

2016          1          3         56  49.314124          8          0 UNKNOWN

时间: 2024-11-10 04:28:29

oracle extract函数笔记的相关文章

Oracle单行函数笔记

Oracle中单行函数的分类:1.字符函数substr():字符串截取select substr('我爱你,你知道么?',0,4) from dual执行结果:我爱你,length函数:字符串长度select length('我爱你,你知道么?') from dual执行结果:9Replace()函数:替换指定字符select replace('我爱你,你知道么?','你','的是他') from dual执行结果:我爱的是他,的是他知道么?upper函数:转字母大写select upper('

oracle中extract()函数----用于截取年、月、日、时、分、秒

oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 语法如下: extract ( { year | month | day | hour | minute | second } | { timezone_hour | timezone_minute } | { timezone_region | timezone_abbr } from { date_value | interval_value } ) 只可以从一个da

Oracle常用函数

前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使用: 往emp表中插入一条记录: SQL> insert into emp values(1234,'LIZELU','BOSS',1234,'1980-12-06',10000.0,0,30); insert into emp values(1234,'LIZELU','BOSS',1234,'1

oracle 触发器 学习笔记

触发器 是特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用他们. 功能: 1. 允许/限制对表的修改 2. 自动生成派生列,比如自增字段 3. 强制数据一致性 4. 提供审计和日志记录 5. 防止无效的事务处理 6. 启用复杂的业务逻辑 开始 create trigger biufer_employees_department_id before insert or update of department_id on employees referencing old

Oracle 的函数

Oracle 的函数 分类 单行函数:  对每一行输入值进行计算,得到相应的计算结果,返回给用户,也就是说, 每一行作为一个输入参数,通过函数计算得到每行的计算结果.比如说length 多行函数:对多行输入值进行计算,得到多行对应的多个结果,比如max,min等 单行函数 字符函数: 用于处理字符的业务   replace(char 1,search_string,replace_string) 举例: 在emp表中的ename列中替换所有的A select replace(ename,'A',

oracle常用函数及示例

学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函数及示例,一是为了和大家分享,二是可以在以后工作中忘记了随时查阅.废话不多说,下面直接上函数. 一.单行函数 只处理单个行,并且为每行返回一个结果. 1.字符函数 (1)concat(str1,str2)字符串拼接函数 select concat('Hello ','World') from dua

Oracle基础知识笔记(11) 建表、更新、查询综合练习

有某个学生运动会比赛信息的数据库,保存了如下的表: 运动员sporter(运动员编号sporterid,运动员姓名name,运动员性别sex,所属系号department) 项目item(项目编号itemid,项目名称itemname,项目比赛地点location) 成绩grade(运动员编号id,项目编号itemid,积分mark) 请用SQL语句完成如下功能: 1.  建表,并在相应字段上增加约束: 定义各个表的主键和外键约束: 运动员的姓名和所属系别不能为空: 积分要第为空值,要么为6,4

【Oracle】详解Oracle常用函数

Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函数可以接受零个或者多个输入参数,并返回一个输出结果. Oracle 数据库中主要使用两种类型的函数: 1.  单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果, 比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整 数列).常用的单行函数有: Ø  字符函数:对字符串操作. Ø  数字函数:对数字进行计算,返回一个数字. Ø  转换函

数据库编程1 Oracle 过滤 函数 分组 外连接 自连接

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> 数据库编程1 Oracle 过滤 函数 分组 外连接 自连接 本文实验基于的数据表: winsows安装好Oracle11g之后,开始实验 SQLplus 登陆 ORacle sqlplus 退出的方式 查看用户之下有什么表 查看表的所有记录,不区分大小写 设置SQLplus行宽,页宽,列宽: 清屏命令 select as 语法 1,as别名的使用 2,没有引号带有空格的别名,无法识别: 3,带有