oracle - 개행문자는 length가 2로 잡히나요? 1 5 594

by 초초 [Oracle 기초] #오라클 #개행문자 [2022.02.14 11:32:43]


한글이나 다른 특수문자는 길이가 1로 카운트 되는데

성냥같이 생긴(?) 개행문자는 2로 잡히는 이유가 따로 있을까요..!

ㅠㅠ

by 마농 [2022.02.14 13:40:25]

줄바꿈(개행문자)는 다음 두개 문자로 이루어 집니다.
- Carraige Return : CR(13)
- Line Feed : LF(10)
(13) 과 (10) 은 각각의 아스키 코드값입니다.
전체 문자열의 이진 코드를 확인하려면 DUMP 함수를 이용해 보세요.
 

SELECT LENGTH(v) len
     , DUMP(v) dmp
  FROM (SELECT CHR(13)||CHR(10) v FROM dual)
;

 


by 초초 [2022.02.14 13:49:33]

아하 두개로 이루어졌기 때문에 length가 2로 잡히는군요.

js에서 length 체크 한 뒤 insert 하려고 보면 개행이 DB 보다 1개씩 적게 잡혀서 왜그런가 했네요

감사합니다 ㅠ


by 마농 [2022.02.14 13:52:46]

(13) 없이 (10) 만 저장되는 경우도 있습니다.
반드시 저장 후에 DUMP 등으로 확인을 해보세요.
(13) 없이 (10) 만 있는 경우에는
사용하는 에디터 툴에 따라 개행이 정상적으로 보이기도 하고 그렇지 않게 보이기도 합니다.


by 초초 [2022.02.14 14:04:52]

아.. 네 감사합니다..!!!


by 우리집아찌 [2022.02.14 15:43:55]

lengthb 함수 쓰시면 byte 단위로 길이를 반환합니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입