Oracle 获取系统日期,日期转换函数
Oracle 获取当前日期及日期格式
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
mm会显示月份,输出 2009-12-25 14:12:31
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;
yy 表示年的最后2位 、
yyy 表示年的最后3位 、
yyyy 用4位数表示年
表示month的: mm 用2位数字表示月 、
select sysdate - interval '7' day from dual;
当前时间减去7月的时间
select sysdate,sysdate - interval '7' month from dual;
当前时间减去7年的时间
select sysdate,sysdate - interval '7' year from dual;
dy 当周第几天,简写, 比如星期五或者fri 、
day 当周第几天,全称, 比如星期五或者friday
表示hour的:hh 2位数表示小时 12进制 、
hh24 2位数表示小时 24小时
时间间隔乘以一个数字
select sysdate,sysdate - 8*interval '7' hour from dual;
含义解释:
Dual伪列
Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的select语句块中。
ORACLE常用函数汇总
ORACLE常用函数汇总Oracle是一种常用的关系型数据库管理系统,它提供了许多方便的函数来处理和操作数据。
以下是一些常用的Oracle函数的汇总:1.字符串函数:-CONCAT:用于连接两个字符串。
-UPPER:将字符串转换为大写。
-LOWER:将字符串转换为小写。
-LENGTH:返回字符串的长度。
-SUBSTR:返回字符串的子串。
2.数值函数:-ABS:返回数字的绝对值。
-ROUND:返回一个四舍五入的数字。
-TRUNC:返回数字的整数部分。
-MOD:返回两个数的余数。
3.日期函数:-SYSDATE:返回当前日期和时间。
-TO_CHAR:将日期转换为特定的格式。
-TO_DATE:将字符串转换为日期。
-ADD_MONTHS:在给定的日期上添加指定的月份。
-MONTHS_BETWEEN:返回两个日期之间的月份数。
4.聚合函数:-SUM:计算指定列的总和。
-AVG:计算指定列的平均值。
-COUNT:计算指定列的行数。
-MAX:返回指定列的最大值。
-MIN:返回指定列的最小值。
5.条件函数:-NVL:用于将空值替换为指定的值。
-NULLIF:如果两个表达式相等,则返回空值;否则返回第一个表达式的值。
-COALESCE:返回第一个非空表达式的值。
-CASE:对满足条件的表达式进行分支处理。
6.集合函数:-UNION:将两个结果集合并成一个结果集。
-INTERSECT:返回两个结果集的交集。
-MINUS:返回第一个结果集中不在第二个结果集中的行。
7.窗口函数:-ROW_NUMBER:为查询结果中的每一行分配一个唯一的行号。
-RANK:根据指定的列对结果进行排序,并为相同值的行分配相同的排名。
-DENSE_RANK:根据指定的列对结果进行排序,并为相同值的行分配连续的排名。
8.系统函数:-USER:返回当前用户的名称。
-CURRENT_TIMESTAMP:返回当前的日期和时间。
-SYSTIMESTAMP:返回当前的日期和时间,包括时区信息。
Oracle中时间和日期函数总结
Oracle中时间和⽇期函数总结查看当前⽇期格式:select*from nls_session_parameters where parameter='NLS_DATE_FORMAT';修改⽇期的格式: alter session set nls_date_format ='yyyy-mm-dd';永久设置⽇期格式:改注册表oracle/HOME0 加字符串NLS_DATE_FORMAT 值yyyy-mm-dd;1.dd-mon-yy转换为yyyy-mm-ddselect to_char(to_date('01-5⽉-05','dd-mon-yy'),'yyyy-mm-dd') from dual2.计算2009-05-01与2008-04-30的⽉份差select (extract(year from to_date('2009-05-01 ','yyyy-mm-dd')) - extract(year from to_date('2008-04-30','yyyy-mm-dd'))) *12+extract(month from to_date('2008-05-01','yyyy-mm-dd')) - extract(month from to_date('2008-04-30','yyyy-mm-dd')) months from dual; --extract:⽤于从⽇期时间值中取得所需要的特定数据 year.month.day.hour.minute.secondselect ceil((to_date('2009-05-01','yyyy-mm-dd') - to_date('2008-04-30','yyyy-mm-dd'))/30) from dual;select ceil(months_between(to_date('2009-05-01','yyyy-mm-dd'),to_date('2008-04-30','yyyy-mm-dd'))) from dual;--查看现在距2008-08-08已过去了多少个⽉select ceil(months_between(sysdate,to_date('2008-08-08','yyyy-mm-dd'))) from dual;3.年⽉⽇时分秒计算select to_date('2010-04-27 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual; --字符串转换成⽇期select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; --⽇期转化为字符串select to_char(sysdate,'yyyy') as nowYear from dual; --获取时间的年 'yyyy.yyy.yy.y'分别显⽰不同年的计数位--获取时间的⽉select to_char(sysdate,'mm') from dual; -- 04select to_char(sysdate,'mon') from dual; --中⽂版:4⽉英⽂版: aprselect to_char(sysdate,'month') from dual; --中⽂版:4⽉英⽂版: april--获取时间的⽇select to_char(sysdate,'dd') from dual; --当⽉的第⼏天select to_char(sysdate,'ddd') from dual; --当年的第⼏天select to_char(sysdate,'d') from dual; --当周的第⼏天 select to_char(sysdate,'D') from dual;select to_char(sysdate,'ddspth')from dual; --英⽂显⽰当⽉的第⼏天--获取时间的时select to_char(sysdate,'hh24') from dual; --24⼩时制select to_char(sysdate,'hh') from dual; --12⼩时制--获取时间的分select to_char(sysdate,'mi') from dual;--获取时间的秒select to_char(sysdate,'ss') from dual;4.查看星期⼏select to_char(sysdate,'dy') from dual; --星期⼏中⽂版:星期⼆英⽂版:Tueselect to_char(sysdate,'day') from dual; --星期⼏中⽂版:星期⼆英⽂版:Tuesday--英⽂显⽰星期⼏: to_date('2010-04-27','yyyy-mm-dd') 部分可换成sysdate或其他时间select to_char(to_date('2010-04-27','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; --⼩写select to_char(to_date('2010-04-27','yyyy-mm-dd'),'DAY','NLS_DATE_LANGUAGE = American') from dual; --⼤写select to_char(to_date('2010-04-27','yyyy-mm-dd'),'Day','NLS_DATE_LANGUAGE = American') from dual; --⾸字母⼤写--设置会话⽇期语⾔格式 : alter session set nls_date_language='american';5. next_day函数:计算机当前⽇期的下⼀个星期⼏next_day(sysdate,6)是从当前开始下⼀个星期五(n-1)。
oracle date函数用法
oracle date函数用法Oracle DATE函数是用于将一个字符串转换为日期格式的函数。
它有多种用法,以下是其中的几种:1. TO_DATE函数:将字符串转换为日期格式TO_DATE函数的语法如下:TO_DATE(string, format)其中,string是要转换的字符串,format是转换格式,它告诉Oracle如何将字符串转换为日期格式。
例如,如果字符串是'2022-01-01',format应该是'YYYY-MM-DD'。
示例:SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD') FROM DUAL;结果为:01-JAN-222. SYSDATE函数:返回当前日期和时间SYSDATE函数用于获取当前日期和时间。
它没有任何参数。
示例:SELECT SYSDATE FROM DUAL;结果为:21-JUL-21 02.14.45.000000 PM3. ADD_MONTHS函数:将月份加上指定的数量ADD_MONTHS函数用于将一个日期的月份加上指定的数量。
它的语法如下:ADD_MONTHS(date, n)其中,date是要处理的日期,n是要加上的月份数量。
示例:SELECT ADD_MONTHS(TO_DATE('2022-01-01', 'YYYY-MM-DD'), 6) FROM DUAL;结果为:01-JUL-22以上是Oracle DATE函数的常用用法,它们可以帮助您处理日期和时间相关的计算和操作。
Oracle常用函数
句中必须要有from命令,所以oracle定义了虚拟表dual,提供一些特殊字段的查询,例如时间日期、算术运算等功能。
select sysdate from dual; selecr 1+2 from dual;*/一、时间类常用函数:①、sysdate--获取当前系统时间②、To_char(date,format) -将日期转换为字符串参数:Date:日期format:转换的格式例:select to_char(sysdate,'yyyy-mm-dd')from dual;输出:2022-4-8 --这里输出的是字符串!③、To_date(string,format) -将字符串转换为日期参数:string:日期格式的字符串format:转换的格式*需要转换为日期的字符串必须要和指定转换的格式匹配!换句话说string是根据format的格式来进行转换。
例:select to_date('2022-02-12 23:15:12','yyyy-mm-dd hh24:mi:ss')from dual;输出:2022/2/12 23:15:12 --这里输出的是日期!二、结果集操作类函数:①、decode()函数--用于将输入的数值与函数中的参数列表相比较,根据输入值返回一个对应值。
和case...when...then...else语句功能一样函数语法:decode(f,t1,j1,t2,j2,t3,j3...t(n),j(n),k)参数:f:条件(字段或运算值)t:值J:返回值K:缺省值(默认值)函数说明:t1和j2为一组,t2和j2为一组,t3和j3为一组,以此类推;当f等于t(n)数值时,则返回对应的j(n)返回值;如果f不等于任何一个t(n),则返回k缺省值特别注意:由于每个t值都对应一个j返回值,当我们设置参数个数时,f为第一个参数这是固定的,之后的两个参数为一组(t、j),最后参数只有一个时则这个参数就是缺省值k,如果参数个数没有单独的一个参数出来,则没指定k,程序会自动添加缺省值k,这个k为null值!函数案例:select decode(id,1,'返回值1',2,'返回值2',3,'返回值3','缺省值k')替换,id from text;输出:句中必须要有from命令,所以oracle定义了虚拟表dual,提供一些特殊字段的查询,例如时间日期、算术运算等功能。
Oracle日期函数大全(各函数锦集)
Oracle日期函数大全(各函数锦集)一、常用日期数据格式1.Y或YY或YYY 年的最后一位,两位或三位SQL> Select to_char(sysdate,'Y') from dual; TO_CHAR(SYSDATE,'Y')--------------------7SQL> Select to_char(sysdate,'YY') from dual; TO_CHAR(SYSDATE,'YY')---------------------07SQL> Select to_char(sysdate,'YYY') from dual; TO_CHAR(SYSDATE,'YYY')----------------------0072.Q 季度1~3月为第一季度,2表示第二季度。
SQL> Select to_char(sysdate,'Q') from dual; TO_CHAR(SYSDATE,'Q')--------------------23.MM 月份数SQL> Select to_char(sysdate,'MM') from dual; TO_CHAR(SYSDATE,'MM')---------------------054.RM 月份的罗马表示(V在罗马数字中表示5)SQL> Select to_char(sysdate,'RM') from dual; TO_CHAR(SYSDATE,'RM')---------------------5.Month 用9个字符长度表示的月份名SQL> Select to_char(sysdate,'Month') from dual;TO_CHAR(SYSDATE,'MONTH')------------------------5月6.WW 当年第几周(2007年5月29日为2007年第22周)SQL> Select to_char(sysdate,'WW') from dual;TO_CHAR(SYSDATE,'WW')---------------------227.W 本月第几周(2007年5月29日为5月第5周)SQL> Select to_char(sysdate,'W') from dual;TO_CHAR(SYSDATE,'W')--------------------58.DDD 当年第几天(2007年5月29日为2007年第149天)SQL> Select to_char(sysdate,'DDD') from dual;TO_CHAR(SYSDATE,'DDD')----------------------1499. DD 当月第几天SQL> Select to_char(sysdate,'DD') from dual;TO_CHAR(SYSDATE,'DD')---------------------2910.D 周内第几天SQL> Select to_char(sysdate,'D') from dual;TO_CHAR(SYSDATE,'D')--------------------11.DY 中文的星期几((2007年5月29日为星期二))SQL> Select to_char(sysdate,'DY') from dual;TO_CHAR(SYSDATE,'DY')---------------------星期二12.HH或HH12 12进制小时数(16:09分为用12小时制计时为4点)SQL> Select to_char(sysdate,'HH') from dual;TO_CHAR(SYSDATE,'HH')---------------------0413.HH24 24小时制SQL> Select to_char(sysdate,'HH24') from dual;TO_CHAR(SYSDATE,'HH24')-----------------------16二、常用时间函数1.trunc(sysdate,'Q') 本季度第一天SQL> select trunc(sysdate,'Q') from dual;TRUNC(SYSDATE,'Q')------------------2007-4-12.trunc(sysdate,'D') 本周的第一天(周日)SQL> select trunc(sysdate,'D')from dual;TRUNC(SYSDATE,'D')------------------2007-5-27/doc/d112362228.html,st_day(sysdate) 本月最后一天SQL> select last_day(sysdate) from dual;LAST_DAY(SYSDATE)-----------------2007-5-31 15:20:34.add_months(sysdate,2) 日期sysdate后推2个月SQL> select add_months(sysdate,2) from dual;ADD_MONTHS(SYSDATE,2)---------------------2007-7-29 15:21:145.next_day(sysdate,2) 日期sysdate之后的第一周中,第2(指定星期的第几天)是什么日期SQL> select next_day(sysdate,2) from dual;NEXT_DAY(SYSDATE,2)-------------------2007-6-4 15:22:106.Months_between(f,s) 日期f和s间相差月数SQL> selectmonths_between(sysdate,to_date('2007-04-12','yyyy-mm-dd'))from dual; MONTHS_BETWEEN(SYSDATE,TO_DATE ------------------------------1.569099089008367.得到SYSDATE+5所在的月份SQL> SELECT to_char(SYSDATE+5,'mon','nls_date_language=american') FROM dual;TO_CHAR(SYSDATE+5,'MON','NLS_D------------------------------jun8.current_date()返回当前会话时区中的当前日期。
Oracleto_date函数的用法介绍
Oracleto_date函数的用法介绍to_date(string, format)其中,string是要转换为日期的字符串,而format是可选的日期格式,用于指定字符串的解析方式。
如果不提供格式参数,则to_date(将使用默认的日期格式。
下面让我们来详细介绍to_date(函数的用法和注意事项。
1.简单日期转换:to_date(函数可以将包含日期信息的字符串转换为日期类型。
例如,我们有一个字符串'2024-07-15',并希望将其转换为日期类型。
可以使用以下语句实现转换:```SELECT to_date('2024-07-15', 'YYYY-MM-DD') FROM dual;```这将返回一个日期类型的值,该值为2024年7月15日。
2.解析日期和时间:to_date(函数还可以用于解析包含日期和时间信息的字符串。
例如,我们有一个字符串'2024-07-15 10:30:00',并希望将其转换为日期类型。
可以使用以下语句实现转换:```SELECT to_date('2024-07-15 10:30:00', 'YYYY-MM-DDHH24:MI:SS') FROM dual;```这将返回一个日期类型的值,该值为2024年7月15日10:30:00。
3.默认日期格式:如果在to_date(函数中未指定格式参数,则会使用默认的日期格式。
默认格式由Oracle数据库的NLS_DATE_FORMAT参数控制。
可以使用以下语句查看默认日期格式:```SELECT value FROM v$parameter WHERE name = 'nls_date_format';```例如,默认格式可能是'MM/DD/YYYY'。
在这种情况下,执行以下语句:```SELECT to_date('07/15/2024') FROM dual;```这将返回一个日期类型的值,该值为2024年7月15日。
Oracle日期函数和转换函数
Oracle⽇期函数和转换函数⼀、⽇期函数⽇期函数⽤于处理date类型的数据,两个⽇期相减返回⽇期之间相差的天数。
⽇期不允许做加法运算,⽆意义。
常见代表符号:yyyy 年,mm ⽉,dd ⽇,hh ⼩时,mi 分钟,ss 秒,day 星期默认情况下⽇期格式是dd-mon-yy即12-3⽉-19(1)sysdate: 该函数返回系统时间(2)months_between(m,n)⽇期m和⽇期n相差多少⽉数(3)add_months(d,n)在⽇期d上增加n个⽉数(4)next_day(d, '星期*') 指定⽇期d下⼀个星期*对应的⽇期(5)last_day(d):返回指定⽇期d所在⽉份的最后⼀天(6)extract(month from d)从⽇期d上提取⽉份数(7)round(d,time)⽇期的四舍五⼊(8)trunc(d,time)⽇期的截断以下是⽇期函数的⼀些例⼦及效果图:各种情况例⼦:months_between select months_between('01-9⽉-95','11-1⽉-94') from dual; --19.6774193548387add_months select add_months('11-2⽉-18',6) from dual; --2018/8/11next_day select next_day('11-2⽉-18','星期六') from dual; --2018/2/17last_day select last_day('11-2⽉-18') from dual; --2018/2/28round 四舍五⼊⽉份 25-7⽉-18 select round(to_date('25-7⽉-2018'), 'month') from dual; --2018/8/1round 四舍五⼊年份 25-7⽉-18 select round(to_date('25-7⽉-2018’), 'year') from dual; --2019/1/1trunc 截断⽉份 25-7⽉-18 select trunc(to_date('25-7⽉-2018'), 'month') from dual; --2018/7/1trunc 截断年份 25-7⽉-18 select trunc(to_date('25-7⽉-2018'), 'year') from dual; --2018/1/1trunc 当前⽇期的00点00分00秒 select trunc(sysdate) from dual;sql⽐较⽇期今天之前:select * from table where update < to_date('2012-09-07 00:00:00', 'yyyy-MM-dd HH24:mi:ss');精确时间:select * from table where update = to_date('2012-09-07 00:00:00', 'yyyy-MM-dd HH24:mi:ss');某段时间内:select * from table where update <= to_date('2012-09-07 00:00:00', 'yyyy-MM-dd HH24:mi:ss')and update >= to_date('2010-02-07 00:00:00', 'yyyy-MM-dd HH24:mi:ss')eg:查找已经⼊职8个⽉多的员⼯SQL>select * from empwhere sysdate>=add_months(hiredate,8);eg:显⽰满10年服务年限的员⼯的姓名和受雇⽇期。
oracle 转化月日年格式
oracle 转化月日年格式
在Oracle中,要将日期从标准格式转换为月日年格式,你可以使用TO_CHAR函数来实现。
TO_CHAR函数可以将日期转换为特定格式的字符串。
以下是一个示例:
假设你有一个名为date_column的日期字段,你可以使用以下查询来将日期转换为月日年格式:
SELECT TO_CHAR(date_column, 'MM/DD/YYYY') AS
formatted_date.
FROM your_table;
在这个查询中,TO_CHAR函数将日期转换为MM/DD/YYYY格式的字符串。
你也可以根据需要调整日期的格式,比如使用MON DD, YYYY来得到类似 "Jan 01, 2022" 的格式。
另外,如果你想在SQL中直接更新表中的日期格式,你可以使用UPDATE语句结合TO_CHAR函数来实现:
UPDATE your_table.
SET date_column = TO_CHAR(date_column, 'MM/DD/YYYY');
这将把日期字段date_column的格式更新为月日年格式。
总之,在Oracle中,你可以使用TO_CHAR函数来将日期转换为月日年格式,无论是在查询中显示还是在更新表中的数据。
希望这些信息能够帮助到你。
getdate()在oracle的用法
文章标题:深度解读getdate()在Oracle中的使用方法在今天的文章中,我们将深入探讨getdate()在Oracle中的使用方法。
getdate()是一个在Oracle数据库中常用的函数,它用于获取当前系统的日期和时间。
本文将从简到繁地介绍getdate()函数的基本用法,然后深入探讨其在实际应用中的广泛用途。
1. getdate()函数的基本用法在Oracle数据库中,getdate()函数用于获取当前系统的日期和时间。
其基本语法如下:SELECT getdate() FROM dual;该语句将返回当前系统的日期和时间。
在实际应用中,我们可以将这个值赋予变量,用于各种计算和比较操作。
2. getdate()函数在数据分析中的应用在数据分析领域,我们经常需要获取数据的时间戳,以便进行时间序列分析、趋势分析等操作。
getdate()函数可以帮助我们轻松获取当前时间,从而简化数据分析过程。
我们可以使用getdate()函数将当前时间戳插入到数据表中,以记录数据的更新时间。
3. getdate()函数在报表生成中的应用在报表生成过程中,我们通常需要将当前日期作为报表的日期标识,或者计算报表的生成耗时。
getdate()函数可以帮助我们获取当前系统的日期和时间,并在报表中加入相应的时间信息。
这样可以使报表更加直观、及时和有用。
4. 个人观点和理解getdate()函数在Oracle中的灵活应用,使得我们可以轻松获取当前系统的日期和时间,并在各种计算、比较和展示操作中使用。
它极大地简化了时间相关操作的复杂度,提高了数据分析和报表生成的效率和准确性。
总结回顾通过本文的深度解读,我们详细介绍了getdate()函数在Oracle中的基本用法和广泛应用。
我们还共享了个人观点和理解。
希望读者通过本文的阅读,能更全面、深刻和灵活地掌握getdate()函数在Oracle 中的使用方法。
getdate()函数在Oracle中的用法十分灵活,可以满足各种时间操作的需求。
oracle日期函数
oracle⽇期函数oracle⽇期时间的加减法加法select sysdate,add_months(sysdate,12) from dual; --加1年select sysdate,add_months(sysdate,1) from dual; --加1⽉select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1⼩时select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分钟select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒减法select sysdate,add_months(sysdate,-12) from dual; --减1年select sysdate,add_months(sysdate,-1) from dual; --减1⽉select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual; --减1星期select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual; --减1天select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --减1⼩时select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1分钟select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1秒⼀、常⽤⽇期数据格式1.Y或YY或YYY 年的最后⼀位,两位或三位Select to_char(sysdate,'Y') from dual;Select to_char(sysdate,'YY') from dual;Select to_char(sysdate,'YYY') from dual;2.Q 季度 1~3⽉为第⼀季度,2表⽰第⼆季度。
ORACLE函数之日期时间转换函数
ORACLE函数之⽇期时间转换函数1、TO_CHAR语法:TO_CHAR(X [,format])说明:将X按format格式转换成字符串。
X是⼀个⽇期或者数字。
format是⼀个规定了X採⽤何种格式转换的格式字符串举例:SQL>SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') A FROM DUAL;A-------------------2014-06-1815:58:432、TO_DATE语法:TO_DATE(C [,format])说明:将符合format指定的特定⽇期格式的字符串C转换成DATE类型的数据举例:SQL>SELECT TO_DATE('2014-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') A FROM DUAL;A------------------------------2014/5/713:23:443、TO_DSINTERVAL语法:TO_DSINTERVAL (C)说明:将符合特定格式的字符串C转换成INTERVAL DAY TO SECOND类型的数据。
TO_DSINTERVAL(fmt) 转换⼀个格式字符串为⼀个内部的 DAY—>SECOND举例:1)加上当前时间的天时分秒SQL>select sysdate+TO_DSINTERVAL(to_char(sysdate,'DD hh24:mi:ss')) A from dual;A------------------------------2014/7/93:12:322)加上10天SQL>select sysdate+TO_DSINTERVAL('1000:00:00') A from dual;A------------------------------2014/6/2913:36:254、NUMTODSINTERVAL语法:NUMTODSINTERVAL(N,C)说明:把数字N转换成C指定的INTERVAI DAY TO SECOND类型的数据。
oracle常用的时间格式转换
oracle常⽤的时间格式转换oracle常⽤的时间格式转换1:取得当前⽇期是本⽉的第⼏周select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from dual;TO_CHAR(SYSDATE,'YY')select to_char(sysdate,'W') from dual;2:取得当前⽇期是⼀个星期中的第⼏天,注意星期⽇是第⼀天select sysdate,to_char(sysdate,'D') from dual; 类似:select to_char(sysdate,'yyyy') from dual; --年select to_char(sysdate,'Q'from dual; --季select to_char(sysdate,'mm') from dual; --⽉select to_char(sysdate,'dd') from dual; --⽇ddd 年中的第⼏天WW 年中的第⼏个星期W 该⽉中第⼏个星期D 周中的星期⼏hh ⼩时(12)hh24 ⼩时(24)Mi 分ss 秒3:取当前⽇期是星期⼏中⽂显⽰:select to_char(sysdate,'day') from dual;TO_CHAR(SYSDATE,'DAY')星期四4:如果⼀个表在⼀个date类型的字段上⾯建⽴了索引,如何使⽤alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'5: 得到当前的⽇期select sysdate from dual;6: 得到当天凌晨0点0分0秒的⽇期select trunc(sysdate) from dual;-- 得到这天的最后⼀秒select trunc(sysdate) +0.99999from dual;-- 得到⼩时的具体数值select trunc(sysdate) +1/24from dual;select trunc(sysdate) +7/24from dual;7.得到明天凌晨0点0分0秒的⽇期select trunc(sysdate+1) from dual;select trunc(sysdate)+1from dual;8: 本⽉⼀⽇的⽇期select trunc(sysdate,'mm') from dual;9:得到下⽉⼀⽇的⽇期select trunc(add_months(sysdate,1),'mm') from dual;10:返回当前⽉的最后⼀天?select last_day(sysdate) from dual;select last_day(trunc(sysdate)) from dual;select trunc(last_day(sysdate)) from dual;select trunc(add_months(sysdate,1),'mm') -1from dual;11: 得到⼀年的每⼀天select trunc(sysdate,'yyyy')+ rn -1 date0from(select rownum rn from all_objectswhere rownum<366);12:今天是今年的第N天SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;13:如何在给现有的⽇期加上2年select add_months(sysdate,24) from dual;14:判断某⼀⽇⼦所在年分是否为润年select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;15:判断两年后是否为润年select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual;16:得到⽇期的季度select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;select to_char(sysdate, 'Q') from dual;TO_DATE格式(以时间:2007-11-0213:45:25为例)Year:yy two digits 两位年显⽰值:07yyy three digits 三位年显⽰值:007yyyy four digits 四位年显⽰值:2007Month:mm number两位⽉显⽰值:11mon abbreviated 字符集表⽰显⽰值:11⽉,若是英⽂版,显⽰novmonth spelled out 字符集表⽰显⽰值:11⽉,若是英⽂版,显⽰novemberDay:dd number当⽉第⼏天显⽰值:02ddd number当年第⼏天显⽰值:02dy abbreviated 当周第⼏天简写显⽰值:星期五,若是英⽂版,显⽰friday spelled out 当周第⼏天全写显⽰值:星期五,若是英⽂版,显⽰fridayddspth spelled out, ordinal twelfthHour:hh two digits 12⼩时进制显⽰值:01hh24 two digits 24⼩时进制显⽰值:13Minute:mi two digits 60进制显⽰值:45Second:ss two digits 60进制显⽰值:25其它Q digit 季度显⽰值:4WW digit 当年第⼏周显⽰值:44W digit 当⽉第⼏周显⽰值:124⼩时格式下时间范围为:0:00:00-23:59:59....12⼩时格式下时间范围为:1:00:00-12:59:59 ....1. ⽇期和字符转换函数⽤法(to_date,to_char)select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //⽇期转化为字符串select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的⽉select to_char(sysdate,'dd') as nowDay from dual; //获取时间的⽇select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual//2.select to_char( to_date(222,'J'),'Jsp') from dual显⽰Two Hundred Twenty-Two3.求某天是星期⼏select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;星期⼀select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; monday设置⽇期语⾔ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';也可以这样TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')4. 两个⽇期间的天数select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;5. 时间为null的⽤法select id, active_date from table1UNIONselect1, TO_DATE(null) from dual;注意要⽤TO_DATE(null)a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')那么12⽉31号中午12点之后和12⽉1号的12点之前是不包含在这个范围之内的。
oracle日期函数(Oracledatefunction)
oracle日期函数(Oracle date function)Oracle日期函数trunc(SYSDATE,Q’)--本季度第一天trunc(SYSDATE,会')--本周的第一天(周日)查询Oracle日期格式----------------------------------SELECT * FROM nls_database_parameters;得到结果如下表:表中nls_date_format表示日期格式。
参数值----------------------------------------------------------------------nls_language美国nls_territory美国nls_currency美元nls_iso_currency美国nls_numeric_characters。
,nls_characterset zhs16gbknls_calendar公历nls_date_format dd-mon-rrnls_date_language美国nls_sort二进制nls_time_format hh.mi.ssxff是nls_timestamp_format dd-mon-rr hh.mi.ssxff是nls_time_tz_format hh.mi.ssxff是TZH:TZMnls_timestamp_tz_format dd-mon-rr hh.mi.ssxff是TZH:TZM nls_dual_currency美元nls_comp二进制nls_nchar_characterset zhs16gbknls_rdbms_version 8.1.7.0.0或者查询V nls_parameters美元表,SELECT * FROM V nls_parameters美元;也有类似结果。
to_date字符串类型转为换日期类型字符串中的相应位置上的字符,必须符合时间范围的限制SQL >选择to_date('2004-11-12 12-07-32 ','yyyy-mm-dd hh24 MI SS)值从双;价值-------------------2004.11.12 12:07:32SQL >选择to_date('20041015”)值从双;价值-------------------2004.10.15 00:00:00SQL >选择to_date('20041315”)值从双;错误1行位于第:ora-01861:文字与格式字符串不匹配当前日期和时间SYSDATESQL >选择SYSDATE值从双;-------------------2003.11.23 17:09:01last_day本月最后一天SQL >选择last_day(SYSDATE)值从双;价值-------------------2003.11.30 17:08:17add_months(d,n)日期D后推N个月SQL >选择add_months(SYSDATE,2)的值从双;价值-------------------2005.01.23 17:10:21next_day(D日)日期D之后的第一周中,指定的那天(指定星期的第几天)是什么日期SQL >选择next_day(SYSDATE,1)的值从双;-------------------2004.11.28 17:38:55相信很多人都有过统计某些数据的经历,比如,要统计财务的情况,可能要按每年,每季度,每月,甚至每个星期来分别统计。
oracle之函数-数字,日期,转换,字符串,其他
oracle之函数-数字,⽇期,转换,字符串,其他-----------------------------oracle数据库函数----------------------------------------数学函数***select abs(-1) from dual;--向上取整select ceil(2.5)from dual;select ceil(-2.4)from dual;select ceil(-2.6)from dual;--向下取整select floor(2.5) from dual;select floor(-2.5) from dual;select floor(-2.6) from dual;--四舍五⼊注意:4 5之分select round(2.4)from dual;select round(2.5)from dual;select round(-2.4)from dual;select round(-2.5)from dual;--幂 2^3 第⼀个参数是底数第⼆个参数是指数select power(2,3)from dual;--平⽅根select sqrt(3)from dual;--截断:⽤于截取⼩数位数--第⼀个参数是⽬标参数第⼆天参数表⽰保留的⼩数位数select trunc(123.456,2) from dual;select trunc(123.456,0) from dual;--取模取余select mod(10,3) from dual;---⽇期转换函数*****--时间格式--yyyy-MM-dd HH:mi:ss--HH默认24⼩时制 1-23:59:59--HH12表⽰12⼩时制 1-12--to_char()将⽇期转换成字符串select sysdate from dual;select to_char(sysdate,'yyyy-MM-dd HH:mi:ss') from dual;--to_date()将字符串转换成⽇期select to_date('2017-11-2','yyyy-MM-dd HH:mi:ss') from dual;select * from ttt_demo01;insert into ttt_demo01 values(102,'scott',200.99,to_date('1992-11-2','yyyy-MM-dd HH:mi:ss'));--转换含有数字的字符串select to_number('1233.456') from dual;SELECT TO_TIMESTAMP('2016-12-12 12:23:34', 'YYYY-MM-DD HH:MI:SS') FROM DUAL;--添加了时区SELECT TO_TIMESTAMP_TZ('2016-12-12 12:23:34 8:00', 'YYYY-MM-DD HH24:MI:SS TZH:TZM') FROM DUAL;---⽇期操作函数*****--截取⽬标⽇期⾥的时间,⽐如获取当前系统时间的年、⽉、⽇--注意在截取当前系统时间的年⽉⽇,可以直接写成 year/month/day from sysdate--但是hour minute second不可以这么写,需要先转换成字符串,再转换成⽇期select extract( year from sysdate) from dual;select extract( month from sysdate) from dual;select extract( day from sysdate) from dual;select extract( second from to_timestamp(to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')) from dual; select extract(hour from TO_TIMESTAMP('2016-12-12 12:23:34', 'YYYY-MM-DD HH24:MI:SS')) from dual;select extract(minute from TO_TIMESTAMP('2016-12-12 12:23:34', 'YYYY-MM-DD HH24:MI:SS')) from dual;select extract(second from TO_TIMESTAMP('2016-12-12 12:23:34', 'YYYY-MM-DD HH24:MI:SS')) from dual;--计算⽉差:两个⽇期之间相差的⽉数--注意:计算结果是第⼀个参数减第⼆个参数select months_between(sysdate,to_date('1995-11-11','YYYY-MM-DD HH:mi:ss'))from dual;select months_between(to_date('1980-11-1','YYYY-MM-DD HH:mi:ss'),to_date('1995-11-11','YYYY-MM-DD HH:mi:ss'))from dual;--添加⽉数select add_months(sysdate,2)from dual;select add_months(to_date('2017-11-1','YYYY-MM-DD HH:mi:ss'),-13)from dual;--获取当前系统时间以后的时间(星期)--⼀周的组合以下周的⽇期(本周已过的⽇期或者正在过的⽇期)--和本周的⽇期(本周还未过的⽇期)加起来select next_day(sysdate,'Monday') from dual;--下周⼀select next_day(sysdate,'Tuesday') from dual;--下周⼆select next_day(sysdate,'Wednesday') from dual;--下周三select next_day(sysdate,'Thursday') from dual;--本周四select next_day(sysdate,'Friday') from dual;--本周五select next_day(sysdate,'Saturday') from dual;--本周六select next_day(sysdate,'Sunday') from dual;--本周⽇--每个⽉的最后⼀天select last_day(sysdate)from dual;select last_day(to_date('2016-2-1','YYYY-MM-DD'))from dual;--对⽇期的四舍五⼊select round(sysdate,'year') from dual;select round(sysdate,'month') from dual;--对年的四舍五⼊分界点是6⽉和7⽉select round(to_date('2017-6-1','YYYY-MM-DD'),'year') from dual;select round(to_date('2017-7-1','YYYY-MM-DD'),'year') from dual;--对⽉的四舍五⼊分界点是15⽇和16⽇select round(to_date('2017-6-1','YYYY-MM-DD'),'month') from dual;select round(to_date('2017-6-15','YYYY-MM-DD'),'month') from dual;select round(to_date('2017-6-16','YYYY-MM-DD'),'month') from dual;select round(to_date('2016-2-15','YYYY-MM-DD'),'month') from dual;select round(to_date('2016-2-16','YYYY-MM-DD'),'month') from dual;--截取⽇期--此处的day表⽰星期⼏--获取离当前时间最近的星期⽇(已经过了的)select trunc(sysdate,'day')from dual;--获取年初select trunc(to_date('2017-5-5','yyyy-MM-dd'),'year')from dual;select trunc(to_date('2016-5-5','yyyy-MM-dd'),'year')from dual;---字符串函数***--将字符串转换为⼤写select upper(username) from t_user;select lower(username)from t_user;--拼接字符串select 'abc'||'def' from dual;select username||password from t_user;select concat(username,password)from t_user;--列的宽度、长度(列值的宽度)select length(username)from t_user;--填充--左填充第⼀个参数⽬标参数,第⼆个参数填充完之后的字符串长度--第三个参数填充的数据--该例⼦是⽤字符b为字符a做填充select lpad('a',1,'b')from dual;select lpad('a',2,'b')from dual;select lpad('a',3,'b')from dual;select rpad('a',1,'b')from dual;select rpad('a',2,'b')from dual;select rpad('a',3,'b')from dual;select * from t_user;--去空--左去空select ltrim(username)from t_user;--右去空select rtrim(username)from t_user;--去前后空select trim(username)from t_user;--检索字符串(查询某字符串所在的索引位置) oracle中字符串索引从1开始select instr('abcdefg','c')from dual;select instr('abcdefg','cff')from dual;select instr('abcdefg','cde')from dual;--截取字符串--两个参数的时候第⼀个参数表⽰⽬标字符串,第⼆个参数表⽰从索引位置开始截取到最后select substr('abcdefg',2) from dual;--三个参数的时候第⼀个参数表⽰⽬标字符串,第⼆个参数表⽰从索引位置开始截取--第三个参数表⽰截取的长度select substr('abcdefg',2,5) from dual;--替换select replace('abcdefg','a','AAA')from dual;---其他函数。
oracle基础_字符_数字_日期_转换-函数
Oracle 基础关键字: orcale基础一、关系数据库的一些概念1、主键的值一般不可以改变2、外键:指向另一个表或本表的主键或唯一键的字段。
外键的值一定要和某一主键相同,或者为空。
3、数据库对像:表,视图,序列,索引,同义词,程序(进程,函数,sql 和pl/sql数据)4、sql command 类别data retrieval数据检索:selectdata manipulationlanguage (DML)数据操作语言:insert,update,delete data definition language (DDL)数据定义语言:create,alter,drop,rename,truncatetransaction control事务控制:commit,rollback,savepointdata control language(DCL)数据控制语言:grant,revokeDCL 和DDL命令的执行会导致一次隐式提交,之前未提交的操作(包括DML 命令)都会提交写入日志文件,并在适当地时候写入数据文件。
二、SQL的语法1) 连接号:||2) 把两个字符连接起来eg:select game_card_type_id||name from game_card_type;3) select distinct dept_id,title from emp:对多个字段的唯一4) order by desc(降序)order by asc(升序)5) where column is (not) null6) like ‘_a%’ _表示一个字符。
%表示多少字符like ‘%x\_y%’ escape ‘\’:显示包括x_y的字符7) where table1.column(+)=table2.columnplace the operator on the side of the join where there is no value to join to.把(+)放在可能没有值的位置.8) 联接类型:equijoin:等式查询non_equijoin:不等式查询self:自己和自己建立关联out join:where a.column=b.column(+)可以用的操作符是:’=’,’and’,不可以用’or’,’in’9) COUNT 函数所用的列包含空值时,空值行被忽略。
Oracle时间和日期处理
Oracle时间和⽇期处理-- Oracle时间SELECT SYSDATE FROM dual; -- 系统时间SELECT SYSTIMESTAMP FROM dual; -- 当前系统时间戳SELECT CURRENT_TIMESTAMP FROM dual; -- 与时区设置有关,返回的秒是系统的,返回的⽇期和时间是根据时区转换过的SELECT current_date FROM dual; -- 是对CURRENT_TIMESTAMP准确到秒的四舍五⼊select SYSDATE ,systimestamp,current_date,current_timestamp from dual;-- 时间差计算DECLARESTART_DATE DATE;END_DATE DATE;BEGINSTART_DATE := SYSDATE - 1 ;END_DATE := SYSDATE ;dbms_output.put_line('相差天数 :' || ROUND(TO_NUMBER(END_DATE - START_DATE)));dbms_output.put_line('相差⼩时数 :' || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24));dbms_output.put_line('相差分钟数 :' || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60));dbms_output.put_line('相差秒数 :' || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60));dbms_output.put_line('相差毫秒数 :' || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000));END;-- 字符串转时间类型SELECT to_date('2018-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss') FROM dual;-- 时间类型转字符串select to_char(sysdate,'yyyy-mm-dd hh24::mi:ss') from dual;select to_char(sysdate,'yyyy-mm-dd') from dual;-- 时间⽇期加减select sysdate,add_months(sysdate,12) from dual; --加1年select sysdate,add_months(sysdate,1) from dual; --加1⽉select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1⼩时select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分钟select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒--------------------------------------------------------------------------------------select sysdate,add_months(sysdate,-12) from dual; --减1年select sysdate,add_months(sysdate,-1) from dual; --减1⽉select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual; --减1星期select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual; --减1天select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --减1⼩时select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1分钟select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1秒。
Oracle日期函数简介
Oracle⽇期函数简介Oracle⽇期函数⽤于对Oracle数据库中的⽇期及时间进⾏处理,下⾯就为您详细介绍Oracle⽇期函数的⽤法,希望对您能有所启迪。
(1)SYSDATE和TRUNC两个Oracle⽇期函数取Oracle服务器系统的⽇期和截掉⼩数部分的功能。
观察以下操作:create table test_date (name varchar2(20), p_date date);insert into test_date values(‘name1',sysdate);select * from test_date;select * from test_date where p_date='25-10⽉-05‘;select * from test_date where trunc(p_date)= '25-10⽉-05‘;Oracle系统中⽤SYSDATE取得的不仅包含⽇期⽽且还包含的有时间信息,时间信息实际上就是表⽰儒略⽇数据中的⼩数部分。
(2)ADD_MONTHSOracle⽇期函数返回⼀个具有与所提供⽇期相差⽉份的⽇期,函数中给出了未来或以前的⽉份数。
语法如下:ADD_MONTHS(起始⽇期,增减⽉数)select add_months('26-10⽉-05‘,2) from dual;select add_months('26-10⽉-05‘,-2) from dual;(3)LAST_DAY返回包含给定⽇期的那个⽉的最后⼀天。
语法为:LAST_DAY(⽇期)select last_day('21-2⽉-80‘) from dual;(4)MONTHS_BETWEEN返回两个⽇期间的⽉份。
语法为:MONTHS_BETWEEN(较晚⽇期,较早⽇期)select months_between('12-10⽉-05‘,'12-9⽉-03‘) from dual;以下是⼀些补充资料,虽然有点仄,但参考下吧在oracle中有很多关于⽇期的函数,如:1、add_months()⽤于从⼀个⽇期值增加或减少⼀些⽉份 date_value:=add_months(date_value,number_of_months) 例: SQL> select add_months(sysdate,12) Next Year from dual; Next Year ---------- 13-11⽉-04 SQL> select add_months(sysdate,112) Last Year from dual; Last Year ---------- 13-3⽉ -13 SQL>2、current_date()返回当前会放时区中的当前⽇期 date_value:=current_date SQL> column sessiontimezone for a15 SQL> select sessiontimezone,current_date from dual; SESSIONTIMEZONE CURRENT_DA --------------- ---------- +08:00 13-11⽉-03 SQL> alter session set time_zone=-11:00 2 / 会话已更改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 获取系统日期,日期转换函数
learning
oracle 获取系统日期和日期转换函数应用获取系统日期:SYSDA TE() 格式化日期:TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS)
或TO_DATE(SYSDA TE(),'YY/MM/DD HH24:MI:SS)
格式化数字:TO_NUMBER
注:TO_CHAR 把日期或数字转换为字符串
TO_CHAR(number, '格式')
TO_CHAR(salary, '$99,999.99')
TO_CHAR(date, '格式')
TO_DATE 把字符串转换为数据库中的日期类型
TO_DATE(char, '格式')
TO_NUMBER 将字符串转换为数字
TO_NUMBER(char, '格式')
返回系统日期,输出25-12月-09
select sysdate from dual;
mi是分钟,输出2009-12-25 14:23:31
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
mm会显示月份,输出2009-12-25 14:12:31
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;
输出09-12-25 14:23:31
select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual
输出2009-12-25 14:23:31
select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh24:mi:ss') from dual 而如果把上式写作:
select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh:mi:ss') from dual 则会报错,因为小时hh是12进制,14为非法输入,不能匹配。
输出$10,000,00 :
select to_char(1000000,'$99,999,99') from dual;
输出RMB10,000,00 :
select to_char(1000000,'L99,999,99') from dual;
输出1000000.12 :
select trunc(to_number('1000000.123'),2) from dual;
select to_number('1000000.123') from dual;
转换的格式:
表示year 的:y 表示年的最后一位、
yy 表示年的最后2位、
yyy 表示年的最后3位、
yyyy 用4位数表示年
表示month的:mm 用2位数字表示月、
mon 用简写形式,比如11月或者nov 、
month 用全称,比如11月或者november
表示day的:dd 表示当月第几天、
ddd 表示当年第几天、
dy 当周第几天,简写,比如星期五或者fri 、
day 当周第几天,全称,比如星期五或者friday
表示hour的:hh 2位数表示小时12进制、
hh24 2位数表示小时24小时
表示minute的:mi 2位数表示分钟
表示second的:ss 2位数表示秒60进制
表示季度的:q 一位数表示季度(1-4)
另外还有ww 用来表示当年第几周w用来表示当月第几周。
24小时制下的时间范围:00:00:00-23:59:59
12小时制下的时间范围:1:00:00-12:59:59
数字格式: 9 代表一个数字
0 强制显示0
$ 放置一个$符
L 放置一个浮动本地货币符
. 显示小数点
, 显示千位指示符
补充:
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MINUTE from dual;
当前时间减去7小时的时间
select sysdate - interval '7' hour from dual;
当前时间减去7天的时间
select sysdate - interval '7' day from dual;
当前时间减去7月的时间
select sysdate,sysdate - interval '7' month from dual;。