select to_char(sysdate ,'YYYY-MM-DD HH24:mm:ss') from dual;
---Oracle 导出格式
select cast(char as datetime)
---MSSQL导入格式
是时间戳类型,参数6指的是表示秒的数字的小数点右边可以存储6位数字,最多9位。解决方法如下:
1、时间戳的概念:它是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
2、在oracle使用时间戳,一般都是为了方便计算时间差的,要知道oracle中的date类型想减是不能友好的得到时间的差值的。所以使用时间戳来得到两个时间差。
3、首先来看oracle中如何获得当前时间的时间戳,用当前时间减去计算机元年后再经过换算得到了的从1970年来到当前时间的时间戳,单位是微妙。
4、另外oracle提供了另一种便捷得到两个时间差的方式,那就是使用timestamp数据类型,它类似date类型,但是存储的时间更为精确,显示的格式:yyyy-mm-dd hh24:mi:ssff AM,其中ff是小数秒。
5、timestamp类型的时间差可读性也比上面那种好一些,可以直观看出两个时间差。
整合模块时用到的有关Oracle时间格式的SQL语句
以 小时制显示
SQL>select to_char(sysdate YYYY MM DD HH :MI:SS AM )from dual;
TO_CHAR(SYSDATE YYYY MM DDHH : : 下午
以 小时制显示
SQL> select to_char(sysdate YYYY MM DD HH :MI:SS AM )from dual;
TO_CHAR(SYSDATE YYYY MM DDHH : : 下午
得到当前时间的前一分钟
select to_char(Sysdate / / HH :MI:SS )from dual;
TO_CHAR(SYSDATE / / HH : : :
得到当前时间的后一分钟
select to_char(Sysdate+ / / HH :MI:SS )from dual;
TO_CHAR(SYSDATE+ / / HH : : :
得到当前时间的前一小时
select to_char(Sysdate / HH :MI:SS )from dual;
TO_CHAR(SYSDATE / HH :MI: : :
得到当前时间的后一小时
select to_char(Sysdate+ / HH :MI:SS )from dual;
TO_CHAR(SYSDATE+ / HH :MI: : :
得到当前时间的后一天
select to_char(Sysdate+ YYYY MM DD )from dual;
TO_CHAR(SYSDATE+ YYYY MM DD
lishixinzhi/Article/program/Oracle/201311/18789
create or replace function isdate(p in varchar2)return varchar2isresult date;beginresult:= to_date(p,'yyyy-mm-dd');return to_char(result,'yyyy-mm-dd');exceptionwhen others then return '0';end;
正常的日期返回本身
否则返回0
测试1
1
select isdate('2014-01-01') from dual
测试2
1
select isdate('2014-01-33') from dual
-------------
那象你那样这样写不就行吗
你那个报错
create or replace function isdate(p in varchar2)return intisresult date;beginresult:= to_date(p,'yyyy-mm-dd');return 1;exceptionwhen others then return 0;end;
以上就是关于从oracle数据库取的日期型数据存入sqlserver05数据库,显示的格式不对全部的内容,包括:从oracle数据库取的日期型数据存入sqlserver05数据库,显示的格式不对、oracle数据库 时间 TIMESTAMP(6)这是什么类型啊 怎么也插不进数据、Oracle数据库中如何对时间格式进行处理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)