把Oracle 字符串转换成TIMESTAMP类型的方案 |
本文标签:Oracle 字符串 在计算机的实际应用中将Oracle 字符串转换成TIMESTAMP类型或是Date类型时,我们要用到Oracle的相关函数,在此过程中我们要涉及到很多的字符串的应用,那么接下来就让我们一起了解Oracle 字符串转换的实际应用吧! 使用Oracle函数: TO_TIMESTAMP_TZ(2009-3-9 17:51:23.23 -05:00, YYYY-MM-D HH24:MI:SS.FF TZH:TZM) TO_DATE(yourdate,YYYY-MM-D HH24:MI:SS); 字符串转日期Date T0_CHAR(yourdate,YYYY-MM-D HH24:MI:SS); 日期Date转字符串 eg: update t_fl_flownote set sendtime=TO_TIMESTAMP_TZ(2009-11-30 10:47:16,YYYY-MM-DD HH24:MI:SS) 转别人的日志 我们都知道date和timestamp都是对日期和时间的表示,只是两种类型的精确度不同,前者精确到秒,后者精确到小数秒(fractional_seconds_precision),可以是 0 to 9,缺省是6 。 Oracle 字符串转换但是对date类型的运算很简单,有很多函数可用来处理;而两个timestamp的差则是很直观地显示为多少天+多少小时+多少分钟+多少秒+多少小数秒, SQL> create table test (T1 TIMESTAMP(6), 2 T2 TIMESTAMP(6)); 表已创建 。 SQL> insert into test values( 2 to_timestamp(2006-01-01 12:10:10.1,yyyy-mm-dd hh24:mi:ss.ff), 3 to_timestamp(2006-01-01 12:20:10.2,yyyy-mm-dd hh24:mi:ss.ff)); 已创建 1 行 。 SQL> SQL> insert into test values( 2 to_timestamp(2006-01-01 12:10:10.1,yyyy-mm-dd hh24:mi:ss.ff), 3 to_timestamp(2006-01-02 12:20:10.2,yyyy-mm-dd hh24:mi:ss.ff)); 已创建 1 行 。 SQL> SQL> insert into test values( 2 to_timestamp(2006-01-01 12:10:10.1,yyyy-mm-dd hh24:mi:ss.ff), 3 to_timestamp(2006-01-02 13:40:20.2,yyyy-mm-dd hh24:mi:ss.ff)); 已创建 1 行 。 SQL> commit; 提交完成 。 SQL> 两个timestamp的差则是很直观地显示为多少天+多少小时+多少分钟+多少秒+多少小数秒: SQL> select t2-t1 from test; +000000000 00:10:00.100000 +000000001 00:10:00.100000 +000000001 01:30:10.100000 SQL> 但要简单地转化为某一个精度却比较麻烦,用类似date类型的处理方法是不行的 。如转化为分: SQL> select 1440*(t2-t1) from test; +000000010 00:02:24.000000000 +000001450 00:02:24.000000000 +000001530 04:02:24.000000000 SQL> 发现结果根本不是原先想要的,而是在原先的“多少天+多少小时+多少分钟+多少秒+多少小数秒”的每一项都乘以1440再进行进制处理 。以上的相关内容就是对Oracle 字符串转换TIMESTAMP类型或Date类型的介绍,望你有所收获 。 |