当前位置: 首页 > 知识库问答 >
问题:

在oracle sql中将字符串格式的日期转换为日期时间格式

温智明
2023-03-14

我的日期列值是字符串格式,显示的值像“44370.4087037037”、“44370.4087384259”。而我希望它们是MM/DD/YYYY HH: MM格式。我必须在Oracle中输入它到数据库中。我的查询是-

INSERT ALL 
INTO TABLE1 (NAME, DATE_COL) VALUES ('ABC' , '44370.4087037037')
INTO TABLE1 (NAME, DATE_COL) VALUES ('XYZ' , '44370.4087384259')
SELECT * FROM DUAL;

我应该如何转换它?我试图\u DATE,convert,cast-不起作用-出现错误-[错误]执行(5:23):ORA-00907:缺少右括号

共有1个答案

林玮
2023-03-14

假设您的值是1899-12-31之后的天,那么您可以使用:

INSERT ALL 
INTO TABLE1 (NAME, DATE_COL) VALUES ('ABC' , DATE '1899-12-31' + 44370.4087037037 )
INTO TABLE1 (NAME, DATE_COL) VALUES ('XYZ' , DATE '1899-12-31' + 44370.4087384259 )
SELECT * FROM DUAL;

然后,对于您的桌子:

CREATE TABLE table1(
  name VARCHAR2(10),
  date_col DATE
);

输出为:

SELECT * FROM table1;

输出(当NLS\U DATE\U格式为YYYY-MM-DD HH24:MI:SS时):

 类似资料: