programing

오라클에서 새 줄 문자를 입력하는 방법은 무엇입니까?

skycolor 2023. 5. 7. 11:19
반응형

오라클에서 새 줄 문자를 입력하는 방법은 무엇입니까?

select col1, col2
    into name1, name2
    from table1
    where col1=col;

        m_sub := 'Subject ';
    m_msg := 'Hello '||name||' ,'||/n||/n||'Your order has been placed.';

오류(34,33): PLS-00103: 다음 중 하나를 예상할 때 "/" 기호가 발생했습니다. ( - + case mod new null avg count current max min 이전 sql stdev sum variance for all merge time timestamp interval date pipe

Chr(Number)가 당신을 위해 일할 입니다.

select 'Hello' || chr(10) ||' world' from dual

플랫폼마다 다른 줄 문자가 필요합니다.

  • CHR(10) => LF, 라인피드 (계속)
  • CHR(13) => CR, 캐리지 리턴(창, LF와 함께)

Oracle PLSQL 언어 정의에 따르면 문자 리터럴은 "문자 집합의 인쇄 가능한 문자"를 포함할 수 있습니다.https://docs.oracle.com/cd/A97630_01/appdev.920/a96624/02_funds.htm#2876

@Robert Love의 답변은 읽기 쉬운 코드에 대한 모범 사례를 보여주지만 코드에 라인피드 문자를 입력하기만 하면 됩니다.다음은 Linux 터미널에서 사용한 예입니다.sqlplus:

SQL> set serveroutput on
SQL> begin   
  2  dbms_output.put_line( 'hello' || chr(10) || 'world' );
  3  end;
  4  /
hello
world

PL/SQL procedure successfully completed.

SQL> begin
  2  dbms_output.put_line( 'hello
  3  world' );
  4  end;
  5  /
hello
world

PL/SQL procedure successfully completed.

CHR(NN) 함수 대신 다음과 같은 유니코드 문자 이스케이프 시퀀스를 사용할 수도 있습니다.u'\0085'제가 더 선호하는 이유는, 음, 당신은 우리가 더 이상 1970년에 살고 있지 않다는 것을 알고 있기 때문입니다.아래의 동등한 예를 참조하십시오.

SQL> begin
  2  dbms_output.put_line( 'hello' || u'\000A' || 'world' );
  3  end;
  4  /
hello
world

PL/SQL procedure successfully completed.

공정한 적용 범위를 위해 운영 체제마다 회선 끝 처리를 위해 서로 다른 문자/문자 시퀀스를 사용한다는 점에 주목할 필요가 있다고 생각합니다.올바른 기술을 사용하고 있는지 확인하려면 프로그램 출력을 보거나 인쇄할 상황에 대해 생각해야 합니다.

  • Microsoft Windows: CR/LF 또는u'\000D\000A'
  • Unix(Apple MacOS 포함): LF 또는u'\000A'
  • IBM OS390: NEL 또는u'\0085'
  • HTML:'<BR>'
  • XHTML:'<br />'
begin   
   dbms_output.put_line( 'hello' ||chr(13) || chr(10) || 'world' );
end;

언급URL : https://stackoverflow.com/questions/5812148/how-to-enter-newline-character-in-oracle

반응형