#sql #oracle #date #oracle-sqldeveloper
#sql #Oracle #Дата #oracle-sqldeveloper
Вопрос:
у меня есть эти два запроса.
to_char(to_date('1970-01-01 **1:00:00**', 'yyyy-mm-dd hh24:MI:SS') NET_START.STARTPROC/1000/60/60/24, 'yyyy-mm-dd hh24:MI:SS') as STARTPROC;
SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual
запрос 2 возвращает строку, содержащую 1:00:00, и я хотел бы использовать этот запрос внутри запроса 1 для замены выделенного 1:00:00.
что-то вроде этого
to_char(to_date('1970-01-01 (SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual)’, 'yyyy-mm-dd hh24:MI:SS') NET_START.STARTPROC/1000/60/60/24, 'yyyy-mm-dd hh24:MI:SS') as STARTPROC
Ответ №1:
Oracle используется ||
для подключения строки
to_date('1970-01-01'||(SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual), 'yyyy-mm-dd hh24:MI:SS')
попробуйте это.
Комментарии:
1. Должно быть
'1970-01-01 '
(с пробелом)2. упс. это опечатка. но я почти уверен, что OP поймет, что это значит.
Ответ №2:
Вы можете просто использовать ||
оператор без запроса следующим образом:
to_char(to_date('1970-01-01 ' || TO_CHAR(SYSTIMESTAMP, 'tzr') , 'yyyy-mm-dd hh24:MI:SS')
NET_START.STARTPROC/1000/60/60/24, 'yyyy-mm-dd hh24:MI:SS') as STARTPROC;