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
);
Другие вопросы по тегам