오라클에서 새 줄 문자를 입력하는 방법은 무엇입니까?
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
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
'programing' 카테고리의 다른 글
MongoDB를 사용하여 중첩된 어레이 업데이트 (0) | 2023.05.07 |
---|---|
대규모 프로젝트를 위한 NodeJS vs Play Framework (0) | 2023.05.07 |
치명적: 현재 분기 마스터에 업스트림 분기가 없습니다. (0) | 2023.05.07 |
pip로 특정 git commit 설치 (0) | 2023.05.07 |
PostgreSQL: Unix epoch에서 현재까지 변환하는 방법은 무엇입니까? (0) | 2023.05.07 |