2012-08-16 1 views
1

문자열 값의 중간에 낮은 값 HEX'00을 써야합니다.SQL 문에서 LOW VALUES HEX '00'을 반환하는 방법은 무엇입니까?

다음 코드 utl_file.put_raw(v_file, hextoraw('000000'))을 사용하여 utl_file 패키지를 사용하여 수행 할 수 있습니다. 그러나 나는 문자열의 중간이 아니라 파일의 처음과 끝에서만 그것을 할 수 있습니다.

그래서, 내 질문은 : 어떻게 낮은 값을 HEX'00 'select 문을 작성하는 것입니다. 나는 다음 .dat 파일로 저장

Select ‘blablabla’ Q, hextoraw('000000'), ‘blablabla’ w from dual; 

같은 몇 가지 변종을 시도 헥스 편집기에서 엽니 다하지만 UTL_FILE을 사용할 때 결과는 달랐다.

아무나 (가능한 경우) 올바른 SQL 문을 쓸 수 있습니까?

+0

당신은 "LOW VALUES HEX"무엇을 의미합니까? 인쇄 할 수없는 바이트에 대해 이야기하고 있습니까? 예를 들어 줄 수 있습니까? 또한 이것이 SQL과 어떤 관련이 있습니까? 즉. 너 뭐하려고? –

+0

오라클 db에서 많은 문자열이 업로드 된 .dat 파일을 만들어야합니다. 그리고 나는 지금 hav : firstly 나는 middle_table을 만들었고, 나는 utl_file을 사용하여 디렉토리에 파일을 작성하고, 자바 스크립트를 사용하여 파일을 진행했다. 그 .dat 파일에서 나는 스크린 샷 [link] (https://dl.dropbox.com/u/25164865/file.jpg)과 같은 HEX'00 '심볼을 가지고 있습니다. (디스크에 ipload로 테이블을 크롤링하고 처리했습니다. javascript에 의해, 이것은 n ++에서 일반 모드로 열리 며, 16 진수 모드로는 열리지 않습니다). – May12

+0

그래서이 파일은 pl \ sql 기능 만 사용하여 만들어야합니다. 그리고 내 질문은 다른 말로하면 utl_file, HEX'00 '기호로 디스크에 업로드 할 테이블에 넣는 방법입니까? – May12

답변

1

정확하게 이해한다면 출력에 null/binary 0을 추가하려고합니다. 그렇다면 chr(0)을 사용해도됩니다.

예 : utl_file.putf(l_file, 'This is a binary zero' || chr(0));

을 보여줍니다 16 진수 편집기에서 그에서 상대 :

00000000 54 68 69 73 20 69 73 20 61 20 62 69 6e 61 72 79 |This is a binary| 
00000010 20 7a 65 72 6f 00 0a        | zero..| 
+0

또한 내 테이블에서 디스크에 데이터를 업로드하는 필드에 BLOB 유형을 사용합니다. – May12