-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類型)。如果有,它從哪裏來?時間從哪裏來? –