- 자바에서 개행(엔터) 문자는 1바이트로 인식
- 자바스크립트에서 개행(엔터)문자는 1바이트로 인식
- 오라클에서 개행(엔터) 문자는 1바이트로 인식
그런데..
java 에서 오라클에 데이타를 넣을 때,
1바이트인 개행(엔터) 문자를 DB 에 넣으면 2바이트가 된다고..
그래서 고민하고 찾아보니,
OS 에 따라 개행(엔터) 문자를 \n 이 아니라 \r\n 으로 인식하기도 한다는 것.
여기서 \n 에 해당하는 오라클 함수는 chr(10), \r 은 chr(13).
이제 어떻게 하면 될지 아셨죠..?
replace('문자열',chr(13)||chr(10),chr(10)) 으로 해 주면 된다는 거죠.
replace('문자열',chr(10)||chr(13),chr(10)) 은 2바이트가 1바이트로 변경되지 않아요.
replace('문자열',chr(10)||chr(13),chr(13)) 도 2바이트 그대로 인식 되구요.
replace('문자열',chr(13)||chr(10),chr(13)) 는 1바이트로 바뀌기는 하는데, 엔터가 아니라 공백 하나로 바뀝니다.
확인해 보려면..
select length(칼럼명),
lengthb(칼럼명) -- 혹시나 해서..
from 테이블명
;
오라클이 설치된 OS 가 무엇이냐에 따라 달라질 수 있으니까,
바이트 수가 다르게 해석되는 현상이 나올 때 사용하면 됩니다.
'Server Oriented > Server' 카테고리의 다른 글
리눅스 서버에서 갑작스런 Disk Full 경험시, 삭제된 파일을 프로세스가 잡고 있는 문제 (0) | 2018.06.11 |
---|---|
df -h 체크하면 100% use (0) | 2018.06.05 |
IP 와 DNS (0) | 2017.11.07 |
리눅스에서 OS 상의 문자셋 변경 (0) | 2017.07.06 |
HTTP 상태 코드, 200 성공, 304 NotModified, 404 FileNotFound.. 웹브라우저 로컬 캐시이용법 (0) | 2017.05.27 |