我试图将日期与时间联系起来,将它们转换为时间戳,但我收到了错误。
SELECT to_timestamp(to_char(22-05-2015) ||" "|| to_char(21:49:00 1600),
'DD-MM-YYYY HH24:MI:SS FF9') FROM DUAL;
答案 0 :(得分: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;