SCN для TimeStamp - неправильное выражение? - PullRequest
1 голос
/ 12 марта 2019

У меня есть 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 ]

4 голосов
/ 12 марта 2019

Пожалуйста, используйте

SELECT SCN_TO_TIMESTAMP(TIMESTAMP_TO_SCN(SYSTIMESTAMP)) FROM DUAL;
2 голосов
/ 12 марта 2019

@F.Madsen имеет правильный и самый простой ответ, но просто для иллюстрации вы можете получить результат, следуя вашей логике:

SELECT SCN_TO_TIMESTAMP(SCN) FROM
(
  SELECT (TIMESTAMP_TO_SCN(SYSTIMESTAMP)) SCN FROM DUAL
);
...