2015-05-25 61 views

回答

1

to_char函数将一个值从另一个数据类型 - 数字,日期 - 转换为字符串。你没有日期,你有一个字符串,你没有正确引用;时间部分中的冒号导致了绑定变量错误,因为它没有被引用。双引号用于标识符,而不是用单引号括起来的字符串。无论如何,你并不需要连接两个硬编码的字符串。

所以,你可以这样做:

SELECT to_timestamp('22-05-2015 21:49:00 1600', 'DD-MM-YYYY HH24:MI:SS FF4') 
FROM DUAL; 

虽然这将是更普遍的是使用小数点,而不是秒和毫秒之间的空间。

或者因为你提供所有的数据为固定值,你可以使用一个ISO格式的时间戳文字:

SELECT TIMESTAMP '2015-05-22 21:49:00.16' FROM DUAL; 
+0

谢谢你这么UCH亚历克斯,但我不得不再次转换日期为焦炭引入日期 –

+0

你在您的问题中没有显示实际日期(Oracle DATE类型)。如果有,它从哪里来?时间从哪里来? –