oracle里面 请问时间里面有毫秒 yyyy-mm-dd 24hh:mi:ff:ms怎么转换成date类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle里面 请问时间里面有毫秒 yyyy-mm-dd 24hh:mi:ff:ms怎么转换成date类型相关的知识,希望对你有一定的参考价值。

现在字段格式是char格式 内容如下 给个例子 2012-5-13 18:45:34:567 现在我想做一个批处理 里面有个可以对选取时间段输出数据,但是这个我转换不成date类型数据
利用substr的话因为月份位数跟日期位数的不确定,执行出现错误

使用cast函数。
create table t(d date,ts timestamp);
insert into t values(sysdate, systimestamp)
要确定nls_date_format的格式是你想要的,如果不确定,可以执行以下语句
alter session set nls_date_format = 'dd-mm-yyyy hh24:mi:ss';
下面的语句可以看到在显示上已经成功实现了转化,
select cast(ts as date) from t)
其实在数据类型上也实现了,以下语句成功执行,可以证明
insert into t(d) (select cast(ts as date) from twhere rownum = 1)
参考技术A Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM追问

现在字段格式是char格式 内容如下 给个例子 2012-5-13 18:45:34:567 现在我想做一个批处理 里面有个可以对选取时间段输出数据,但是这个我转换不成date类型数据

ORACLE中,.dbf后缀名的数据文件,请问里面包含多少个用户的表呢?或者包含多少个表空间呢?

参考技术A 以DBA权限
执行select FILE_NAME,TABLESPACE_NAME from dba_data_files;
可以查看你的数据文件所对应的表空间
显示一个表空间中的所有的表
select * from all_tables where tablespace_name ="表空间名"

一个数据文件只能对应一个表空间!而一个表空间可以包含有多个数据文件!这是基础啊。。本回答被提问者采纳
参考技术B select owner,table_name,tablespace_name from dba_tables where tablespace_name='XXX';
可以看到拥有者、表名和表空间;
select file_name,tablespace_name from dba_data_files;
可以看到data file和表空间的对应关系。
参考技术C 不太明白你是想问什么,如果数据库正常,你应该能看到这些dbf数据文件属于哪个表空间,然后就能知道有哪些表
如果你现在只有dbf数据文件,其他什么也没有,这事不是一般的人能搞定的

以上是关于oracle里面 请问时间里面有毫秒 yyyy-mm-dd 24hh:mi:ff:ms怎么转换成date类型的主要内容,如果未能解决你的问题,请参考以下文章

请问如何在ORACLE中取得毫秒

oracle 把某字段里面的特定字符,转换为回车换行符,请问怎么弄?

ORACLE中,.dbf后缀名的数据文件,请问里面包含多少个用户的表呢?或者包含多少个表空间呢?

请问DB2里面的SQL查询语句按周分组是怎么写的

请问如何在python中实现等待指定一段时间?

请问在一个已经创建好的package里面创建存储过程该如何弄啊