-1
我试图用时间连接日期以将它们转换为时间戳,但出现错误。连接日期和时间时未绑定变量49绑定变量
SELECT to_timestamp(to_char(22-05-2015) ||" "|| to_char(21:49:00 1600),
'DD-MM-YYYY HH24:MI:SS FF9') FROM DUAL;
我试图用时间连接日期以将它们转换为时间戳,但出现错误。连接日期和时间时未绑定变量49绑定变量
SELECT to_timestamp(to_char(22-05-2015) ||" "|| to_char(21:49:00 1600),
'DD-MM-YYYY HH24:MI:SS FF9') FROM DUAL;
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;
谢谢你这么UCH亚历克斯,但我不得不再次转换日期为焦炭引入日期 –
你在您的问题中没有显示实际日期(Oracle DATE类型)。如果有,它从哪里来?时间从哪里来? –