Oracleto_char日期转换字符串语句共享

Oracleto_char日期转换字符串语句共享
1是12小时显示。

SQL >选择to_char(SYSDATE,'yyyy-mm-dd hh12:MI:SS AM)从双;

TO_CHAR (SYSDATE,'YYYY-MM-DDHH1)

这个

2007-06-29 02:50:06下午

2是24小时显示。

SQL >选择to_char(SYSDATE,'yyyy-mm-dd hh24:MI:SS AM)从双;

to_char(SYSDATE,'yyyy-mm-ddhh2)

这个

2007-06-29 15:00:58下午

3是当前时间的第一分钟。

选择to_char(sysdate-1 / 21 / 60,'hh24:MI:SS)从双;

to_char(sysdate-1 / 21 / 60,'hh24:)

这个

15:00:54

4是当前时间的最后一分钟。

选择to_char(SYSDATE + 1 / 21 / 60,'hh24:MI:SS)从双;

to_char(SYSDATE + 1 / 21 / 60,'hh24:)

这个

15:03:53

5是当前时间的第一个小时。

选择to_char(sysdate-1 / 24,'hh24:MI:SS)从双;

to_char(sysdate-1 / 24,'hh24:MI:)

这个

出现

6是当前时间的最后一个小时。

选择to_char(SYSDATE + 1 / 24,'hh24:MI:SS)从双;

to_char(SYSDATE + 1 / 24,'hh24:MI:)

这个

16:03:32

7,在当前时间之后的第二天

选择to_char(SYSDATE + 1,'yyyy-mm-dd)从双;

to_char(SYSDATE + 1,'yyyy-mm-dd)

这个

当前时间的前六个月

选择add_months(SYSDATE,6)从双

1、转换功能

目前运行的最大的关系是两个转换函数:(),()to_char to_date

的to_date()函数将字符型成一定格式的日期类型:

具体用法:to_date('2004-11-27 ','yyyy-mm-dd),前者是一个字符串,后者是转换日期格式,注意,这前后应相应。

例如,to_date('2004-11-27 13:34:43 ','yyyy-mm-dd hh24:MI:SS)将获得一个特定的时间

多日期格式:

年:四年的表现

YYY,YY,Y:最后三个,两个,或一年,默认为当前的世纪

01~12个月号

月:九个月的字符,和权利是充满了空间。

一个月的三位字符缩写

WW:一年中的一周

D:一周中的一天

月日

DDD:一年中的日子

一天的全称,由九个字符组成,右边是空格。

HH,hh12:一天的最初几个小时,12进制表示

hh24:一天的最初几个小时,价值00 ~ 23

分钟后一分钟

秒一分

SSSS:从午夜的秒数

to_char():日期改到一定的格式改变为字符型

SQL >选择to_char(SYSDATE,'yyyy-mm-dd hh24:MI:SS)时间从双;

时间

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

2004-10-08 15:22:58

将当前时间为yyyy-mm-dd hh24字符类型:MI:SS格式

oracle数据处理百科全书

to_date格式

天:

DD 12号

DY缩写周五

一天定在星期五

ddspth拼写出来,序号第十二

月:

mm 03号

周一缩写损坏

月份说明三月

年:

YY两位数98

年四位数1998

在24小时格式的时间范围是:0:00:00 - 23:59:59…

在12小时格式的时间范围是:1:00:00 - 12:59:59…

ZT } {日期和时间函数的总结



日期和字符转换函数的用法(to_date,to_char)



选择to_char(to_date(222,J'),'jsp)从双

显示二百二十二



今天是星期几

选择to_char(to_date('2002-08-26 ','yyyy-mm-dd '),星期)从双;

星期一

选择to_char(to_date('2002-08-26 ','yyyy-mm-dd '),星期,'nls_date_language =美国)从双;

星期一

设置日期的语言

改变会话设置nls_date_language =美国;

也可以是这样的

to_date('2002-08-26 ','yyyy-mm-dd ','nls_date_language =美国)



两个日期之间的天数

选择地板(SYSDATE - to_date('20020405 ','yyyymmdd '))从双;

5。时间是null的使用。

选择ID,active_date从表1

联盟

选择1,to_date(空)从双;

注意使用to_date(空)



a_date之间to_date('20011201 ','yyyymmdd)和to_date('20011231 ','yyyymmdd)

12月31日中午12点和12月1日12点之前不包括在这个地区。

所以,当时间需要精确,认为有必要to_char是必要的。

7。日期格式冲突

输入的格式取决于Oracle数据库字符类型设置你的安装,如:US7ASCII,和日期格式类型:'01-jan-01

改变系统设置nls_date_language =美国

改变会话设置nls_date_language =美国

或写在to_date

选择to_char(to_date('2002-08-26 ','yyyy-mm-dd '),星期,'nls_date_language =美国)从双;

注意,我只是举nls_date_language,当然,很多这样的。

可见

SELECT * FROM nls_session_parameters

SELECT * FROM V nls_parameters美元



选择计数(*)

从(rownum-1 rnum选择

从all_objects

在行号to_date('2002-02-28 ','yyyy-mm-dd)- to_date(2002—

02-01,'yyyy-mm-dd ')+ 1



在to_char(to_date('2002-02-01 ','yyyy-mm-dd ')+ rnum-1,会)



在(1,7')

找到天2002-02-28和2002-02-01之间除了星期一和七

是的dbms_utility.get_time之前和之后打电话,然后结果是减去(1 / 100秒,不是毫秒)。



选择months_between(to_date('01-31-1999 ','mm-dd-yyyy),

to_date('12-31-1998 ','mm-dd-yyyy '))月从双;



选择months_between(to_date('02-01-1999 ','mm-dd-yyyy),

to_date('12-31-1998 ','mm-dd-yyyy '))月从双;

一点零三二二五八零六四五一六一三

使用10。next_day

next_day(日,天)

星期一星期日,格式代码日

格式化格式代码

1-7,格式码D

十一

选择to_char(SYSDATE,'hh:MI:SS)时间从all_objects

注:第一个时间记录与最后一行相同。

可以建立一个函数来处理这个问题。

创建或替换功能sys_date返回日期

开始

返回系统日期;

结束;

选择to_char(sys_date,'hh:MI:学生从all_objects);

十二

数小时

选择提取(从时间戳'2001-02-16 2:38:40小时)提供

SQL >选择sysdate,to_char(SYSDATE,'hh)从双;

to_char SYSDATE(SYSDATE,'hh)

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

2003-10-13 19:35:21 07

SQL >选择sysdate,to_char(SYSDATE,'hh24)从双;

to_char SYSDATE(SYSDATE,'hh24)

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

2003-10-13 19:35:21 19

获得与此相同的日期

十三

日处理

选择older_date,

newer_date,

年,

月,

(ABS

(TRUNC

newer_date—

add_months(older_date,年×12个月)



天)

From (select

trunc(months_between(newer_date,older_date) / 12)年,

MOD(trunc(months_between(newer_date,older_date)),

12)个月,

newer_date,

older_date

从(选择姓名和雇佣older_date,

add_months(姓名和雇佣,行号)+行号newer_date

从EMP)



十四

处理月不定日的一种方法

选择to_char(add_months(last_day(SYSDATE)+ 1,2),'yyyymmdd),last_day(SYSDATE)从双

十六

找出今年的天数

选择add_months(trunc(SYSDATE,'year '),12)- trunc(SYSDATE,'year)从双

闰年的处理方法

to_char(last_day(to_date(102的| |:年,'mmyyyy ','dd ')))

如果是28,那不是闰年。

十七

yyyy和啊之间的差异

yyyy99 to_c



年990099

啊991999

年010001

啊012001

治疗18。不同的时区

选择to_char(new_time(SYSDATE,'gmt ','est),'dd / /年HH:毫米MI:SS),系统日期

从双;

十九

间隔5秒

选择to_date(地板(to_char(SYSDATE,sssss ') / 300)* 300,sssss),to_char(SYSDATE,sssss)

从双

2002-11-1 9:55:00 35786

sssss表示5比特秒

二十

一年的头几天

选择to_char(SYSDATE,'ddd '),系统日期从双

310 2002-11-6 10:03:51

21。小时,分钟,秒,毫秒

选择

天,

一个,

trunc(* 24)小时,

trunc(* 24 * 60 - 60 * TRUNC(* 24))分钟,

trunc(* 24 * 60 * 60 - 60 * TRUNC(* 24 * 60))秒,

trunc(* 24 * 60 * 60 * 100 - 100 * TRUNC(* 24 * 60 * 60))mseconds





选择

trunc(SYSDATE)天,

系统日期- TRUNC(SYSDATE)一

从双



SELECT * FROM但是

为了解码(模式,'fifo ',1 - 1)* to_char(RQ,'yyyymmddhh24miss);
楼((date2-date1) / 365)为一年

楼(((date2-date1,365)/ 30)一个月

国防部(国防部(date2-date1,365),30)的一天。

23.next_day功能

next_day(SYSDATE,6)是下个星期五,从现在开始。下面的数字从星期日开始。

一百二十三万四千五百六十七

123456天

oracle中的日期有很多功能。

Oracle中的日期有许多功能,如:

1、add_months()是用来增加或减少一个日期值的月数

date_value:= add_months(date_value,number_of_months)

例:

SQL >选择add_months(SYSDATE,12)明年双;

明年

----------

11月04

SQL >选择add_months(SYSDATE,112)去年双;

去年

----------

13-3月13

SQL >

2、current_date()返回当前时区的当前日期

date_value:= current_date

15 SQL >列sessiontimezone

SQL >选择sessiontimezone,current_date双;

sessiontimezone current_da

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

+ 08:00 13-11月- 03

SQL >改变会话设置time_zone =11:00

2 /

会话已更改。

SQL >选择sessiontimezone,current_timestamp双;

sessiontimezone current_timestamp

离开

11:00 12-11月03 04.59.13.668000点11:

00

SQL >

3、current_timestamp()返回时区的时间戳数据类型在当前时区的当前日期

timestamp_with_time_zone_value:= current_timestamp({ timestamp_precision })

15 SQL >列sessiontimezone

SQL >列current_timestamp格式A36

SQL >选择sessiontimezone,current_timestamp双;

sessiontimezone current_timestamp

离开

+ 08:00 13-11月03 11.56.28.160000点+ 08:

00

SQL >改变会话设置time_zone =11:00

2 /

会话已更改。

SQL >选择sessiontimezone,current_timestamp双;

sessiontimezone current_timestamp

离开

11:00 12-11月03 04.58.00.243000点11:

00

SQL >

4、dbtimezone()返回时间区

varchar_value:= dbtimezone

SQL >选择dbtimezone双;

DBTIME



- 07:00

SQL >

5,提取()查找日期或区间值的字段值

date_value:=提取物(date_field从{ datetime_value | interval_value })

SQL >选择提取(月SYSDATE)本月双;

本月

----------

十一

SQL >选择提取(从今年add_months(SYSDATE,36))3年从双;

3年了



二千零六

SQL >

6、last_day()返回包含日期参数,本月最后一天的日期

date_value:= last_day(date_value)

SQL >选择last_day(日期'2000-02-01 ')飞跃年从双;

飞跃年

----------

29-2月00

SQL >选择last_day(SYSDATE)本月最后一天双;

最后一天

----------

为月03

SQL >

7、localtimestamp()返回日期和时间的会议

timestamp_value:= localtimestamp

SQL >列localtimestamp格式A28

SQL >选择localtimestamp双;

localtimestamp

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

11月03 12.09.15.433000

下午

SQL >选择localtimestamp,current_timestamp双;

localtimestamp current_timestamp

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

03 12.09.31.006000 13-11 13-11月03 12.09.31.006000点+ 08:

下午00点。

SQL >改变会话设置time_zone =11:00;

会话已更改。

SQL >选择localtimestamp,to_char(SYSDATE,'dd-mm-yyyy HH:MI:SS是')SYSDATE双;

localtimestamp SYSDATE

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

03 05.11.31.259000 13-11-2003 12:11:31下午,12-11月

下午

SQL >

8、months_between()确定这两个日期之间的月数

number_value:= months_between(date_value,date_value)

SQL >选择months_between(系统日期,日期'1971-05-18)从双;

months_between(系统日期,日期'1971-05-18)

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

三百八十九点八五五一四三

SQL >选择months_between(系统日期,日期'2001-01-01)从双;

months_between(系统日期,日期'2001-01-01)

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

三十四点4035409

SQL >

9、next_day()给出了一个日期值,返回第一个时间日期,日期是由二参数指出,它应该返回相应的日期字符串。

周期相关日期函数

1。询问一周的第一天

选择trunc(解码(WW,53,to_date(YY | | '3112 ','yyyyddmm),to_date(YY | | - | | to_char(WW×7),'yyyy-ddd ',要')))last_day
从(选择substr('2004-32 ',1, 4)(YY,to_number substr('2004-32 ',6))WW
从双)
选择trunc(to_date(substr('2003-01,1,5)| | to_char(to_number(to_number(substr('2003-01 ',6))* 7)
选择最小(v_date)从
(选择(to_date('200201 ','yyyymm ')+行号)v_date
从all_tables
在rownum < 370)
在to_char(v_date,'yyyy-iw)= '2002-49
2。询问一周的最后一天

选择trunc(解码(WW,53,to_date(YY | | '3112 ','yyyyddmm),to_date(YY | | - | | to_char(WW×7),'yyyy-ddd ')),就6 first_day)
从(选择substr('2004-33 ',1, 4)(YY,to_number substr('2004-33 ',6))WW
从双)
选择trunc(to_date(substr('2003-01,1,5)| | to_char(to_number(substr((substr('2003-01 ',6))* 7)
选择最大(v_date)从
(选择(to_date('200408 ','yyyymm ')+行号)v_date
从all_tables
在rownum < 370)
在to_char(v_date,'yyyy-iw)= '2004-33
三.询问一周的日期

选择min_date,to_char(min_date,星期)天
(选择to_date(substr('2004-33,1,4)| | '001 + rownum-1,'yyyyddd)min_date
从all_tables
在rownum解码(MOD(to_number(substr('2004-33,1,4)),4),0366365)
联盟
选择to_date(substr('2004-33,1,4)- 1 | |
解码(MOD(to_number(substr(substr('2004-33,1,4))-1),0359358)+行号,'yyyyddd)min_date
从all_tables
在rownum <= 7
联盟
选择to_date(substr('2004-33,1,4)+ 1 | | '001 + rownum-1,'yyyyddd)min_date
从all_tables
在rownum <= 7

在to_char(min_date,'yyyy-iw)= '2004-33

tag:日期转换语句字符串电脑软件Oracleto_char

相关内容