본문 바로가기

반응형

프로그램/ORACLE

(21)
컬럼의 한글, 영문, 숫자에 대한 정렬 방법 컬럼의 한글, 영문, 숫자에 대한 정렬 알고리즘 오라클에서 제공하는 order by 에 대힌 default 정렬 순서 => 숫자 > 영문 > 한글 order by convert (컬럼명, 'VN8VN3') => 숫자 > 한글 > 영문 order by convert (컬럼명, 'US8ICL') => 한글 > 영문 > 숫자 order by convert (컬럼명, 'ISO2022-KR') => 한글 > 숫자 > 영문 order by convert (컬럼명, 'UTFE') => 영문 > 한글 > 숫자 출처: http://cafu.tistory.com/55
ORA-01745: 호스트/바인드 변수명이 부적합합니다 오라클 ORA-01745: 호스트/바인드 변수명이 부적합합니다 이런 에러의 경우에는 쿼리에 콤마가 빠졌을 경우에 예를 들면 insert into table명 ( a , b ) values ( ? ? ) ==>위와 같이 입력값인 ? ? 부분에 ,(콤마) 가 없는 경우 에러가 납니다. 그래서 쿼리문 작성할 때는 한 눈에 잘 들어오도록 정렬을 잘해서 작성하는게 좋습니다.
ORA-01476: 제수가 0 입니다 오라클 에러 : ORA-01476: 제수가 0 입니다. 나누기 할 때 나오는 에러입니다. 분수 : 분자 / 분모 (2/4) --> 2 분자 , 4 분모 피제수, 제수 (2/4) --> 2 피제수 , 4 제수 나누어지는수 , 나누는 수 (2/4) --> 2 나누어지는 수 , 4나누는 수 제수는 나누는 수를 말하고 분수로 치면 분모에 해당하는 값 그냥 생각하기에 3 / 0 = 0 인데 왜 안되는지 이해가 안가지만 안되니까 상황에 맞춰서 써야된다. 예) select 5/0 from dual , select 5/'0' from dual ->혹시나 하고 실행해보니 에러난다. ㅋㅋㅋ 예) select 5/null from dual ->이건 해보니 그냥 문자로 인식해서 에러는 안난다. 예) select 0/1 fro..
오라클 LIKE 전체 검색 주의할 점 * 오라클 LIKE 전체 검색 주의할 점 보통 전체 검색할때 LIKE 문을 사용합니다. 예) select * from 테이블명 where 컬럼명 like '%' 을하면 전체 검색이 된다. 하지만 검색하는 컬럼이 null을 허용하면 위의 쿼리에 대한 전체 검색 결과가 틀리게 나온다. like검색시 null이 있는 컬럼은 포함시키지 않기 때문이다. * 컬럼 값에 null 이 있는 경우의 전체 검색할 경우에는 컬럼명 is null 을 추가해야된다. 예) select * from 테이블명 where 컬럼명 like '%' or 컬럼명 is null ibatis같은 동적쿼리문을 사용하는 쿼리에서는 if조건을 걸어서 조건절에서 아예 검색할 컬럼을 빼서 조회를 해야 전체 조회가 된다. select * from 테이블..
지역별 사람수 구하는 쿼리 오라클에서 사용하는 쿼리임 ms-sql 은 nvl 대신 isnull , sugstr 대신 substring 사용하면 가능 SELECT COUNT(*) as tot, NVL(COUNT(CASE WHEN SUBSTR(basc_addr,1,2) = '서울' THEN 1 END),0) as sol, NVL(COUNT(CASE WHEN SUBSTR(basc_addr,1,2) = '광주' THEN 1 END),0) as kju, NVL(COUNT(CASE WHEN SUBSTR(basc_addr,1,2) = '대구' THEN 1 END),0) as dgu, NVL(COUNT(CASE WHEN SUBSTR(basc_addr,1,2) = '대전' THEN 1 END),0) as djn, NVL(COUNT(CASE WHE..

반응형