2017-11-24 3 views
0

내가 SQLPLUS에서 다음 스크립트를 실행하는 경우 : 값 대신 one two three을 삽입하는 onetwothree를 삽입되도록후행 공백을 트리밍에서 SQLPLUS를 유지하는 방법

CREATE TABLE trailing_spaces (text VARCHAR2(100)) 
/

-- Note that there is a blank space after 'one' and 'two' 
INSERT INTO trailing_spaces (text) VALUES ('one 
two 
three') 
/

COMMIT 
/

SQLPLUS 자동으로 라인을 트림과 후행 공백을 제거합니다.

누구나 SQLPlus가 해당 줄을 자르지 않고 그대로 유지하는 방법을 알고 있습니까?

+0

'trailling_spaces (text) 값에 삽입 ('one two three');과 같은 한 줄로 삽입하려고하면 어떻게됩니까? – JSapkota

+0

작동하지만 불행히도 내 스크립트는 줄 바꿈이 있어야하며 SQLPlus를 사용해야합니다. – pablomatico

+0

insert 문을 실행하면 텍스트가 세 줄로 나옵니다. 한 줄의 텍스트를 어떻게'onetwothree'로 얻을 수 있습니까? Oracle 11.2.0.4를 사용하고 있습니다. – JSapkota

답변

0

당신은 SQLPLUS에서 같이 작업을 수행 할 수 있습니다

SQL> CREATE TABLE trailing_spaces (text VARCHAR2(100)); 

Table created. 

SQL> INSERT INTO trailing_spaces (text) VALUES ('one'||' '|| 
              'two'||' '|| 
              'three') ; 

1 row created. 

SQL> COMMIT; 

Commit complete. 

SQL> SELECT * FROM TRAILING_SPACES; 

TEXT 
-------------------------------------------------------------------------------- 
one two three 
+0

나는 더 좋은 방법을 즉시 발견 할 수는 없지만, 이것은 정말로 끔찍한 일이다. 중요한 텍스트 조작 (줄 바꿈도 제거했다)이 필요하다. – Ben

+0

@Ben. 그러나 이것은 정말로 끔찍한 일일 수 있습니다. 일하지 않는 것보다 좋을 수도 있지만, 일하는 것이 있습니다. 당신은 '우아한'해결책을 생각해냅니다. – XING

0

을 나는 당신의 INSERT 문을 실행하면, 나는 세 가지 라인의 텍스트를 얻는다. 한 줄에있는 텍스트를 어떻게하면 onetwothree으로 가져올 수 있습니까? 나는 오라클 11.2.0.4를 사용하고 있습니다.

필자가 스크립트를 변경할 수 없다면, 기존 스크립트를 실행하고 선택시 다음과 같이 조작 할 수 있습니다.

SQL> insert into tbl1 values('one 
    2 two'); 

1 row created. 

SQL> insert into tbl1 values('three 
    2 four'); 

1 row created. 

SQL> select * from tbl1; 

TEXT 
-------------------- 
one 
two 

three 
four 



SQL> select REPLACE(REPLACE(text, CHR(10)), CHR(13)) as text from tbl1; 

TEXT 
-------------------- 
one two 
three four