SCN для TimeStamp - неправильное выражение?
У меня есть SCN:
SELECT TIMESTAMP_TO_SCN(SYSTIMESTAMP) SCN FROM DUAL;
Я могу преобразовать его в метку времени:
SELECT SCN_TO_TIMESTAMP(6480157) FROM DUAL;
Когда я хочу смешать эти два, я получаю ошибку:
SELECT SCN_TO_TIMESTAMP(SELECT TIMESTAMP_TO_SCN(SYSTIMESTAMP) FROM DUAL) FROM DUAL;
ORA-00936: missing expression
2 ответа
Решение
Пожалуйста, используйте
SELECT SCN_TO_TIMESTAMP(TIMESTAMP_TO_SCN(SYSTIMESTAMP)) FROM DUAL;
У @F.Madsen правильный и простой ответ, но для иллюстрации вы можете получить результат, следуя своей логике:
SELECT SCN_TO_TIMESTAMP(SCN) FROM
(
SELECT (TIMESTAMP_TO_SCN(SYSTIMESTAMP)) SCN FROM DUAL
);