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 } )

只可以从一个date类型中截取年月日

SQL> select  extract (year from sysdate) year, extract (month from sysdate) month, extract (day from sysdate) day from  dual;

      YEAR      MONTH        DAY
---------- ---------- ----------
      2015          5          4

只可以从一个date类型中截取年月日

SQL> select extract (year from date ‘2015-05-04‘) year, extract (month from date‘2015-05-04‘) month, extract (day from date ‘2011-05-04‘) day from dual;

      YEAR      MONTH        DAY
---------- ---------- ----------
      2015          5          4

从timestamp中获取年月日时分秒

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

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

获取两个日期之间的具体时间间隔,extract函数是最好的选择

select
extract (day from dt2 - dt1) day,
extract (hour from dt2 - dt1) hour,
extract (minute from dt2 - dt1) minute,
extract (second from dt2 - dt1) second
from
(
select
to_timestamp (‘2011-02-04 15:07:00‘,‘yyyy-mm-dd hh24:mi:ss‘) dt1,
to_timestamp (‘2011-05-17 19:08:46‘,‘yyyy-mm-dd hh24:mi:ss‘) dt2
from
dual
)

获取interval类型特定部分

select extract(year from interval ‘21‘ year) year from dual

Interval 语法

interval ‘{ integer | integer time_expr | time_expr }‘ 

{ { day | hour | minute } [ ( leading_precision ) ] 

| second [ ( leading_precision [, fractional_seconds_precision ] ) ] } 

[ to { day | hour | minute | second [ (fractional_seconds_precision) ] } ]

leading_precision值的范围是0到9, 默认是2. time_expr的格式为:hh[:mi[:ss[.n]]] or mi[:ss[.n]] or ss[.n], n表示微秒.

范围值:

hour: 0 to 23

minute: 0 to 59

second: 0 to 59.999999999

eg:

interval ‘4 5:12:10.222‘ day to second(3)                 表示: 4天5小时12分10.222秒

interval ‘4 5:12‘ day to minute                         表示: 4天5小时12分

interval ‘400 5‘ day(3) to hour                         表示: 400天5小时, 400为3为精度,所以"day(3)", 注意默认值为2.

interval ‘400‘ day(3)                                   表示: 400天

interval ‘11:12:10.2222222‘ hour to second(7)           表示: 11小时12分10.2222222秒

interval ‘11:20‘ hour to minute                         表示: 11小时20分

interval ‘10‘ hour                                      表示: 10小时

interval ‘10:22‘ minute to second                         表示: 10分22秒

interval ‘10‘ minute                                     表示: 10分

interval ‘4‘ day                                         表示: 4天

interval ‘25‘ hour                                         表示: 25小时

interval ‘40‘ minute                                     表示: 40分

interval ‘120‘ hour(3)                                     表示: 120小时

interval ‘30.12345‘ second(2,4)                         表示: 30.1235秒, 因为该地方秒的后面精度设置为4, 要进行四舍五入.

interval ‘20‘ day - interval ‘240‘ hour = interval ‘10-0‘ day to second 表示: 20天 - 240小时 = 10天0秒

时间: 2024-10-13 10:50:40

oracle中extract()函数----用于截取年、月、日、时、分、秒的相关文章

JavaScript基础 Date(年,月,日,时,分,秒,毫秒) 多个整型赋值

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

基于jqeury/zepto的年/月/日 时:分:秒 时间快捷控件(支持键盘操作)

最近在项目中屡次遇到时分秒格式的时间输入需求, 还老被吐槽说这个时间输入贼蛋疼,一不小心就输错,而且花费的时间不少.为了堵住悠悠用户之口,也为了今后有需求能直接拿来使用~~so整了这个简易的小控件.支持根据默认时间格式自动生成对应格式控件,支持键盘上下按键调整时间(长按连续调整), 支持键盘左右按键切换时间输入位置,当然...时间控件的位置完全可以自行定义 HTML和CSS狠简单: <style> form, p, span, div, ul, li, input, dl, dt, dd, h

ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换

在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=DateTime.Now;   //2010-5-28  11:22:02.4552691 星期五               ime.To("y")                         "2010年5月"               time.To("

Java 获取年 月 日 时 分 秒

/** * 英文简写(默认)如:2010-12-01 */ public static String FORMAT_SHORT = "yyyy-MM-dd"; /** * 英文全称 如:2010-12-01 23:15:06 */ public static String FORMAT_LONG = "yyyy-MM-dd HH:mm:ss"; /** * 精确到毫秒的完整时间 如:yyyy-MM-dd HH:mm:ss.S */ public static Str

获取当前时间(年/月/日/时/分/秒)

struct tm* GetCurTime(time_t inTime) { struct tm* curTime = localtime(&inTime); curTime->tm_year += 1900; curTime->tm_mon += 1; return curTime; }

js将当前时间格式化为年-月-日 时:分:秒

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Time</title> </head> <body> <script type="text/javascript"> var d=new Date(); var year=d.getFullYear(

mysql 获取系统时间的下一天 年-月-日 时:分:秒

select (NOW() + INTERVAL 1 DAY) as date 原文地址:https://www.cnblogs.com/shikaijie/p/9932433.html

WeUI移动页面实现时间选择器(年-月-日-时-分)

在做微信公众号的时候,使用的WeUI样式,有一个需求是用户选择一个预约时间,需要年月日并精确到小时和分钟. 但是WeUI的picker组件不支持直接显示5列,根据WeUI.js作者的建议,是将日期和时间选择作为两个选择器来实现. 所以我的实现思路是先选择日期,然后自动跳出时间选择,来模仿一个时间选择器.日期属于datepicker,时间属于普通的picker. 效果图: 点击期望时间跳出datepicker: 在选择时间并确定后跳出时间选择,这是一个普通picker: 之后就可以对选择的时间做处

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值