oracle varchar2转timestamp
有一个字段类型是varchar2(18char),存放的是时间,比如:20121018052334.720,怎么转换成timestamp格式?...
有一个字段类型是varchar2(18 char),存放的是时间,比如:20121018052334.720, 怎么转换成timestamp格式?
展开
4个回答
推荐于2016-08-13 · 知道合伙人数码行家
关注
展开全部
使用oracle内置函数to_timestamp就可以了
select to_timestamp('1700','HH24MI') from dual
1、字符型转成timestamp代码如下:
select to_timestamp('01-10月-08 07.46.41.000000000 上午','dd-MON-yy hh:mi:ss.ff AM')
from dual;
2、timestamp转成date型
代码如下:
select cast(to_timestamp('01-10月-08 07.46.41.000000000 上午','dd-MON-yy hh:mi:ss.ff AM') as date) timestamp_to_date
from dual;
3、date型转成timestamp
代码如下:
select cast(sysdate as timestamp) date_to_timestamp
from dual;
4、获取timestamp格式的系统时间
代码如下:
select systimestamp from dual;
5、两date的日期相减得出的是天数,而两timestamp的日期相减得出的是完整的年月日时分秒小数秒
代码如下:
select systimestamp-systimestamp from dual;
select sysdate-sysdate from dual;
注:所以,timestamp要算出两日期间隔了多少秒,要用函数转换一下。
6、to_char函数支持date和timestamp,但是trunc却不支持TIMESTAMP数据类型。
7、timestamp只支持秒的小数点后面六位。
代码如下:
select to_char(systimestamp, 'yyyymmdd hh24:mi:ssxff6') FROM dual;
注:ssxff6也可以为ssxff7、ssxff8、ssxff9等,但只到6有效。
8、获取系统时间的语句:
代码如下:
SELECT sysdate,systimestamp,to_char(systimestamp, 'yyyymmdd hh24:mi:ssxff6') FROM dual;
select to_timestamp('1700','HH24MI') from dual
1、字符型转成timestamp代码如下:
select to_timestamp('01-10月-08 07.46.41.000000000 上午','dd-MON-yy hh:mi:ss.ff AM')
from dual;
2、timestamp转成date型
代码如下:
select cast(to_timestamp('01-10月-08 07.46.41.000000000 上午','dd-MON-yy hh:mi:ss.ff AM') as date) timestamp_to_date
from dual;
3、date型转成timestamp
代码如下:
select cast(sysdate as timestamp) date_to_timestamp
from dual;
4、获取timestamp格式的系统时间
代码如下:
select systimestamp from dual;
5、两date的日期相减得出的是天数,而两timestamp的日期相减得出的是完整的年月日时分秒小数秒
代码如下:
select systimestamp-systimestamp from dual;
select sysdate-sysdate from dual;
注:所以,timestamp要算出两日期间隔了多少秒,要用函数转换一下。
6、to_char函数支持date和timestamp,但是trunc却不支持TIMESTAMP数据类型。
7、timestamp只支持秒的小数点后面六位。
代码如下:
select to_char(systimestamp, 'yyyymmdd hh24:mi:ssxff6') FROM dual;
注:ssxff6也可以为ssxff7、ssxff8、ssxff9等,但只到6有效。
8、获取系统时间的语句:
代码如下:
SELECT sysdate,systimestamp,to_char(systimestamp, 'yyyymmdd hh24:mi:ssxff6') FROM dual;
展开全部
select to_timestamp('20121018052334.720', 'yyyymmddhh24miss.ff3') from dual;
ff后面的数字代表你想保留几位
ff后面的数字代表你想保留几位
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-18 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:925
获赞数:1553
中国地质调查局特聘数据库专家 CSDN博客专家 百度知道数据库行家 炼数成金版主 想了解更多请关注我的博客:
向TA提问 私信TA
关注
展开全部
SELECT TO_TIMESTAMP ('20121018052334.720', 'yyyymmddhh24miss.FF') FROM DUAL;
FF=Fractional seconds
FF=Fractional seconds
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先转为to_date
然后在转timestamp就行了。
直接转不行。
然后在转timestamp就行了。
直接转不行。
追问
我用select to_date('20121018052334', 'yyyymmddhhmiss') from dual;可以转换, 但是有后边的毫秒时候就不知道怎么转了,求帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询