- 浏览: 53117 次
- 性别:
- 来自: 北京
最新评论
-
lqwforever:
不错,支持一下
redhat linux卸载自带的Java1.4.2安装JDK6 -
liumiao2011:
keepgoing 写道java代码也可以格式化还是只能格式化 ...
让Editplus自动格式化js、css、html。。。 -
keepgoing:
java代码也可以格式化还是只能格式化HTML/CSS、js代 ...
让Editplus自动格式化js、css、html。。。
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
yyyy four digits 四位年 显示值:2007
Month:
mm number 两位月 显示值:11
mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov
month spelled out 字符集表示 显示值:11月,若是英文版,显示november
Day:
dd number 当月第几天 显示值:02
ddd number 当年第几天 显示值:228
dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示fri
day spelled out 当周第几天全写 显示值:星期五,若是英文版,显示friday
ddspth spelled out, ordinal twelfth
Hour:
hh two digits 12小时进制 显示值:01
hh24 two digits 24小时进制 显示值:13
Minute:
mi two digits 60进制 显示值:45
Second:
ss two digits 60进制 显示值:25
其它
Q digit 季度 显示值:4
WW digit 当年第几周 显示值:44
W digit 当月第几周 显示值:1
24小时格式下时间范围为: 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-Two
3.求某天是星期几
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;
7. 日期格式冲突问题
输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01'
alter system set NLS_DATE_LANGUAGE = American
alter session set NLS_DATE_LANGUAGE = American
或者在to_date中写
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,
可查看
select * from nls_session_parameters
select * from V$NLS_PARAMETERS
8.
select count(*)
from ( select rownum-1 rnum
from all_objects
where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-
02-01','yyyy-mm-dd')+1
)
where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )
not in ( '1', '7' )
查找2002-02-28至2002-02-01间除星期一和七的天数
在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒).
9. 查找月份
select months_between(to_date('01-31-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;
1
select months_between(to_date('02-01-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;
1.03225806451613
16.找出今年的天数
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
20.一年的第几天
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual
24,round[舍入到最接近的日期](day:舍入到最接近的星期日)
select sysdate S1,
round(sysdate) S2 ,
round(sysdate,'year') YEAR,
round(sysdate,'month') MONTH ,
round(sysdate,'day') DAY from dual
25,trunc[截断到最接近的日期,单位为天] ,返回的是日期类型
select sysdate S1,
trunc(sysdate) S2, //返回当前日期,无时分秒
trunc(sysdate,'year') YEAR, //返回当前年的1月1日,无时分秒
trunc(sysdate,'month') MONTH , //返回当前月的1日,无时分秒
trunc(sysdate,'day') DAY //返回当前星期的星期天,无时分秒
from dual
26,返回日期列表中最晚日期
select greatest('01-1月-04','04-1月-04','10-2月-04') from dual
27.计算时间差
注:oracle时间差是以天数为单位,所以换算成年月,日
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual //时间差-年
select ceil(moths_between(sysdate,to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanMonths from dual //时间差-月
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual //时间差-天
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24) as spanHours from dual //时间差-时
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual //时间差-分
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60*60) as spanSeconds from dual //时间差-秒
29.查找月的第一天,最后一天
SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,
Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,
Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,
LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month
FROM dual;
出处: http://ajian.cnblogs.com
本文版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
发表评论
-
查看ORACLE实例名和服务名的方法(AIX系统下)
2013-09-05 12:53 1023数据库命令: sqlplus "/as sysd ... -
JSP禁用缓存常用方法
2013-05-05 12:59 6421.客户端缓存要在<head>中加入类似如 ... -
安装eclipse插件:JadClipse
2013-04-23 13:28 8921.下载反编译工具jad.exe,放在eclipse使用的 ... -
eclipse的JavaWeb工程.classpath设置
2013-03-17 12:21 1202<?xml version="1.0& ... -
tomcat注册成windows服务
2012-12-07 17:28 7711.进入tomcat目标下的bin目录里,执行ser ... -
查看oracle的sid
2012-12-07 13:44 1012有时候我们在tnsnames.ora配了一个连接串,用plsq ... -
调试plsql的存储过程
2012-12-05 21:37 896先右键add debug information 再右键te ... -
如何删除火狐插件
2012-11-25 22:19 678在地址栏输入about:config ,在搜索框中搜索plug ... -
windows查看端口占用情况
2012-11-19 00:47 7881.查看所有的端口占用情况 C:\>netsta ... -
在移动窗口的过程中显示整个窗口
2012-09-09 22:21 659修改注册表[HKEY_CURRENT_USER\CONTROL ... -
删除svn信息
2012-06-07 22:17 1164一、eclipse插件删除svn信息 右键点击项 ... -
Solaris下启动Oracle步骤
2012-05-22 11:08 918先打开一个终端,如果你是以root用户登录的系统 1。 ... -
DBLINK详解
2012-05-21 11:01 9291.创建dblink语法: CREATE [PUBLI ... -
linux命令
2012-05-02 18:52 749解压缩 unzip XXX.tar/zip 注意 ... -
redhat linux卸载自带的Java1.4.2安装JDK6(rpm)
2012-05-02 18:35 1145一.jdk1.4卸载 由于redhat Enterpr ... -
[转]“Microsoft Office Word已停止工作”解决方法
2012-03-27 15:14 1103方法一、双击打开“计算机”在右上方的搜索框中输入“Nor ... -
svn插件
2012-03-26 19:35 2534在线安装(比较慢) 类似: name:subclipse ... -
[转]区分Eclipse中的两种JRE
2012-03-22 00:03 1049Eclipse用到两种JRE,一是 ... -
redhat linux卸载自带的Java1.4.2安装JDK6
2012-03-12 16:58 2903一、卸载jdk1.4 由于Redhat Enterpr ... -
让Editplus自动格式化js、css、html。。。
2012-02-19 16:13 1457本人一般用editp ...
相关推荐
Oracle 中 TO_DATE TO_CHAR 格式详解 Oracle 中 TO_DATE 和 TO_CHAR 函数是两个非常重要的日期时间处理函数,主要用于格式化日期和时间数据,以满足不同的应用需求。在本文中,我们将详细介绍 TO_DATE 和 TO_CHAR ...
### Oracle中的TO_DATE和TO_CHAR函数详解 #### 一、TO_DATE函数 **TO_DATE**函数主要用于将字符串转换成日期格式。在Oracle数据库中,这是一个非常实用的功能,尤其是在处理日期和时间相关的数据时。 ##### 1. ...
### Oracle_to_date:Oracle数据库中的日期格式转换 在Oracle数据库中,`TO_DATE`函数是处理日期和时间数据的关键工具之一。它主要用于将字符串转换为日期格式,这在实际的数据处理过程中非常常见,尤其是在需要对...
在 Oracle 中,还有其他日期函数,如 to_char 函数,可以将 DATE 类型的日期转换为字符串。例如: select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 在上面的例子中,sysdate 是当前日期和...
`to_date()` 是 Oracle 数据库中的一个重要函数,用于将字符串转换为日期格式。在实际应用中,尤其在处理时间戳或者进行日期比较时非常有用。本文将详细介绍 `to_date()` 的使用方法、参数格式以及常见问题解决方法...
TO_DATE(date_string, format_mask) ``` - `date_string`: 需要转换的日期字符串。 - `format_mask`: 字符串的日期格式掩码,用于指导如何解析`date_string`。 ### 格式掩码详解 格式掩码定义了日期字符串的结构...
TO_DATE(date_string, format_mask[, nls_date_language]) ``` - `date_string`:这是要转换成日期的字符串。 - `format_mask`:定义了字符串中的日期元素布局。例如,'DD-MON-RRRR' 表示日-月-4位年份,'YYYY-MM-...
Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理 Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法,希望可以对您有所启迪。 to_date()与24小时制表示法及mm分钟的显示: 一、在使用Oracle的to_date函数...
Oracle数据库中的`to_date`函数是用于将字符串转换为日期数据类型的函数,它在处理日期和时间相关的操作时非常常用。`to_date`的主要参数是一个包含日期信息的字符串,以及一个可选的日期格式模型,用于指定输入字符...
Oracle的日期格式可能受到NLS_DATE_FORMAT和NLS_DATE_LANGUAGE参数的影响。不同的字符集可能导致日期的默认显示格式不同。例如,对于US7ASCII字符集,日期格式可能是'01-Jan-01'。可以通过`ALTER SYSTEM`或`ALTER ...
oracle to_date 函数详解,详细讲解了to_date函数的最详细用法
该函数的语法为:TO_DATE(date_string, format_string),其中 date_string 是要转换的日期字符串,format_string 是日期字符串的格式。 1. 日期字符串格式 日期字符串可以有多种格式,例如:YYYY-MM-DD HH24:MI:SS...
总结的sql语法,其中包括一些函数的用法,to_date,to_char,to_number等等函数
Oracle的`to_date`函数是数据库系统中用于将字符串转换为日期类型的函数,它在处理日期和时间数据时非常有用。这个函数接受两个参数:要转换的字符串和一个表示输入字符串格式的模式。 1. `to_date`函数的日期格式...