oracle中时间转换的问题

http://www.cnblogs.com/hanyun/archive/2009/05/14/1456772.html

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会显示月份

时间: 2024-11-05 17:23:38

oracle中时间转换的问题的相关文章

Oracle中的转换函数

Oracle中的转换函数有三个,分别为to_char(),to_date(),to_number() 1.to_char()的用法 格式化当前的日期时间 select sysdate,to_char(sysdate,'yyyy-mm-dd') from dual select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual select sysdate,to_char(sysdate,'yyyy') from dual 2.t

oracle中日期转换

oracle中,日期转换函数有很多,常用命令如下: to_char()命令将时间戳转换为用户规定的日期格式,如: SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') FROM DUAL; 语法:TO_CHAR(X [,format]) 说明:将X按format格式转换成字符串.X可以是日期或者数字或时间戳,format是一个规定了X采用何种格式转换的格式字符串 to_date()命令可以将一个日期格式的字符串转换成date类型数据,如: SELECT 

Oracle中Blob转换成Clob

假如tab表中的c_xml字段原来是blob类型,我们要将其转换为clob类型,如果表中有数据的话,是无法直接通过alert语句去修改的.通过以下方法可以将blob类型的字段改为clob类型. 首先在oracle中创建一个function,代码如下: --先创建Blog转换为Clob的function CREATE OR REPLACE FUNCTION BlobToClob(blob_in IN BLOB) RETURN CLOB AS v_clob CLOB; v_varchar VARCH

oracle之时间转换

1:取得当前日期是本月的第几周 SQL> select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from dual; TO_CHAR(SYSDATE,'YY ------------------- 20030327 4 18:16:09 SQL> select to_char(sysdate,'W') from dual; T - 4 2:取得当前日期是一个星期中的第几天,注意星期日是第一天 SQL> select sysdate,to_char

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-dd select to_char(to_date('01

Oracle中日期转换函数

TO_DATE TO_DATE(char[,fmt[nlsparams]]) char:要转换的字符串 fmt:格式 nlsparams:指定日期语言 例如:查询2002年以后入职的员工: select * from emp where hiredate>to_date('2002-01-01','YYYY-MM-DD'); 常见日期格式见下表: YY:2位数字年份 YYYY:4位数字年份 MM:2位数字月份 MON:简拼的月份 MONTH:全拼的月份 DD:2位数字的天 DY:周几的缩写 DA

C++中时间转换

所需头文件 #include <chrono> #include <time.h> auto now = std::chrono::system_clock::now(); std::time_t now_c = std::chrono::system_clock::to_time_t(now); //auto time = ctime(&now_c); auto time = std::put_time(std::localtime(&now_c), "

oracle 中时间类型 date 与 long 互转

原文:http://www.cnblogs.com/lambertwe/p/6116402.html 今天在项目中查询流程相关信息中,发现了其中的日期字段存的信息很奇怪,是一串数值,后面发现是long类型或者integer类型数值,然后就需要转行成相应的日期格式了. 在网上搜索一番得到解决: 1.date转long: select sysdate, (sysdate-to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'))* 24*60*60

Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法

1.错误原因: date类型不能包含秒以后的精度. 如日期:2010-01-01 20:02:20.0 解决方法:将日期秒以后的精度去除, to_date(substr(INVOICE_DATE,1,10),'yyyy-mm-dd')如日期:2010-01-01 20:02:20 2.INSERT INTO TEST2 (C1, C2,c3) VALUES (${v1},${v2},to_date(${v3},'yyyy-mm-dd'));oracle里面不需要以“:”结尾. 3.修改数据库日期