목록sql (3)
코드 짜는 티모
ORACLE 문자열 길이 찾기 오라클에서 문자열의 길이를 찾기 위해서는 LENGTH를 사용한다. LENGTH : 문자열의 글자 수 LENGTHB : 문자열의 바이트 수 (시스템의 charset에 따라 한글을 1글자당 2byte OR 3byte 일 수 있다.) SELECT LENGTH('오라클') , LENGTH('오라클 SQL') , LENGTHB('오라클') , LENGTHB('오라클 SQL') FROM dual LENGTH('오라클') : 3 LENGTH('오라클 SQL') : 7 LENGTHB('오라클') : 9 LENGTHB('오라클 SQL') : 13 ORA-01704: 문자열이 너무 깁니다 라는 오류를 보게되면 들어온 값이 선언되어있는 사이즈보다 클 수 있으니 체크 후 값을 잘라서 insert..
매퍼파일 xml파일의 쿼리안에서 비교연산자(,,,) 사용하면 정상적으로 인식하지 못한다. 비교 연산자가 아닌 태그로 인식해서 그렇다. 이를 해결하기 위해선 를 사용해서 감싸주면 된다. 이렇게 감싸주면 [ ] 안에 있는 문장은 파싱되지 않고 그대로 문자열로 출력된다. 사용예시 SELECT * FROM COMPANY WHERE emp_cd 5; 40 ]]>; 사용할 부분에만 감싸줘도 되고, 전체를 감싸줘도 된다.
ORA-00911:문자가 부적합 합니다. spring에서 ibatis든 mybatis든 xml파일에 열심히 쿼리문짜고선 잘도는 쿼리문인데도 이런 로그를 띄울때가 잇음.. 정말 간단한 쿼리문에서도 이런 에러로그를 띄움.... 다른 경우도 있는지는 잘 모르겠는데 보통 sql문 마지막에 습관적으로 " ; " 붙이면 에로로그가 뽷뜸. 예를들어 12select sysdatefrom dual; 이런식으로 하면 마지막에 작성된 ; 때문에 신나는 에러로그를 발생시킨다. 그냥 12select sysdate from dual 이렇게만 작성. 내 경우엔 나름 쿼리문이 길어서 뭔 문자가 부적합한지 열심히 하나하나 보다가 마지막에 ; 확인하고선 너무 기뻐서 노트북 닫음ㅎㅎ 멍청