Формат даты и времени файла SQL

#sql #oracle #datetime #plsql #oracle-sqldeveloper

Вопрос:

Я просто хочу посмотреть, как я могу вызвать текущую отметку даты и времени в файле SQL ИЛИ РАЗРАБОТЧИКЕ SQL ORACLE.

Мне нужно, чтобы это выглядело так:

 DBMS_OUTPUT.PUT_LINE( '---- Run Completed on' || ' ' || 'Jan, ' || '6, ' || '2021' || ' at ' || ' 12:34 ');
 

или когда вы на самом деле запустите его (например, дата и время, но формат, который мне нужен):

—- Запуск завершен 6 января 2021 года в 12:34

Каковы правильные команды для правильного извлечения месяца, дня, года и времени в моем DBMS_OUTPUT.PUT_LINE заявлении, чтобы я мог отображать информацию, как указано выше.

Заранее спасибо.

Ответ №1:

Вы можете использовать TO_CHAR() преобразование как

 DECLARE
  dt DATE := sysdate; -- this might be replaced by your real date value
BEGIN 
  DBMS_OUTPUT.PUT_LINE( 'Run Completed on '||TO_CHAR(dt,'Mon DD,YYYY','NLS_DATE_LANGUAGE=English')||' at '||TO_CHAR(dt,'HH24:MI') );
END;  
/
 

Вы можете сохранить вышеуказанное содержимое в файл , например mySQLfile.sql , затем позвонить

 SQL> SET SERVEROUTPUT ON
SQL> @C:pathtofilemySQLfile.sql
 

Комментарии:

1. Или с меньшим сцеплением, to_char(dt, 'Mon DD, YYYY" at "HH24:MI:SS', 'NLS_DATE_LANGUAGE=English') 🙂

2. да @WilliamRobertson хороший улов! 🙂