必威体育Betway必威体育官网
当前位置:首页 > IT技术

SQL之to_date()

时间:2019-10-17 05:14:17来源:IT技术作者:seo实验室小编阅读:59次「手机版」
 

to_date

日期例子:

SELECT to_date('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL

SELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD HH24:MI') FROM DUAL

SELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD HH24') FROM DUAL

SELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUAL

SELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUAL

SELECT TO_DATE('2006', 'YYYY') FROM DUAL

日期格式 

格式控制 描述 

YYYY、YYY、YY 分别代表4位、3位、2位的数字年 

YEAR 年的拼写 

MM 数字月 

MONTH 月的全拼 

MON 月的缩写 

DD 数字日 

DAY 星期的全拼 

DY 星期的缩写 

AM 表示上午或者下午 

HH24、HH12 12小时制或24小时制 

MI 分钟 

SS 秒钟 

SP 数字的拼写 

TH 数字的序数词

日期说明: 

当省略HH、MI和SS对应的输入参数时,oracle使用0作为DEFAULT值。如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。

同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。

但是,不要被这种“惯性”所迷惑,如果忽略MM参数,Oracle并不会取整到年,取整到当前月。

注意: 

1.在使用Oracle的to_date函数来做日期转换时,可能会直觉地采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;原因是sql中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

2.另要以24小时的形式显示出来要用HH24

select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟

select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份

例子:

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_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')     

两个日期间的天数

select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;

转自:https://blog.csdn.net/qq_20989105/article/details/76190566

相关阅读

SqlServer安装Northwind数据库的通用方法

最近在学习Asp.netMVC的时候,接触到Northwind数据库,发现很多书籍、教程都是用Northwind数据库当作示例进行演示,所以研究了一下,觉得

MySQL数据排序asc、desc

数据排序 asc、desc 1、单一字段排序order by 字段名称 作用: 通过哪个或哪些字段进行排序 含义: 排序采用 order by 子句,order by

错误代码为1366的MySQL错误

背景:今天在做开发过程中,报了一个很莫名其妙的错误,错误提示信息如下:SQLSTATE[HY000]: General error: 1366 Incorrect integer v

Oracle中to_date()方法

今天写项目的时候遇见一个坑,花费了半个小时才搞定,特此记录一下。 oracle数据可中可以存储Date数据类型,有一个相关的方法to_date()

56个民族 sql

创建表结构 CREATE TABLE `teacher_nation` ( `mz_id` int(11) NOT NULL AUTO_INCREMENT, `mzname` varchar(20) NOT NULL,

分享到:

栏目导航

推荐阅读

热门阅读