by 초초 [Oracle 기초] #오라클 #개행문자 [2022.02.14 11:32:43]
한글이나 다른 특수문자는 길이가 1로 카운트 되는데
성냥같이 생긴(?) 개행문자는 2로 잡히는 이유가 따로 있을까요..!
ㅠㅠ
줄바꿈(개행문자)는 다음 두개 문자로 이루어 집니다. - 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) ;
아하 두개로 이루어졌기 때문에 length가 2로 잡히는군요.
js에서 length 체크 한 뒤 insert 하려고 보면 개행이 DB 보다 1개씩 적게 잡혀서 왜그런가 했네요
감사합니다 ㅠ
(13) 없이 (10) 만 저장되는 경우도 있습니다. 반드시 저장 후에 DUMP 등으로 확인을 해보세요. (13) 없이 (10) 만 있는 경우에는 사용하는 에디터 툴에 따라 개행이 정상적으로 보이기도 하고 그렇지 않게 보이기도 합니다.
아.. 네 감사합니다..!!!
lengthb 함수 쓰시면 byte 단위로 길이를 반환합니다