oracle 13

[oracle Like In 절] 오라클 LIKE를 IN절처럼 사용하는 방법 (IN-LIKE 구현 팁)

개인정보가 들어있는 데이터를 수정하기위해in 절로 데이터를 찾고 있었다.그러나 나오지 않는다. 해당 개인정보가 포함되어있기 때문이다오라클 like를 in 절처럼 사용할 수 있을까? 조사해 보았다.오라클 LIKE를 IN절처럼 사용하는 방법 (IN-LIKE 구현 팁)오라클(Oracle)에서 IN 절은 특정 값 목록을 조회할 때 자주 사용됩니다. 하지만 LIKE 연산자와는 직접 호환되지 않기 때문에, 다음과 같은 구문은 사용할 수 없습니다:-- 잘못된 문법 예시WHERE column_name LIKE IN ('%가%', '%나%', '%다%') -- ❌ 오류 발생그렇다면, LIKE 조건을 다수 적용하여 IN 절과 유사한 효과를 내는 방법은 무엇이 있을까요?아래에서 SQL 실무에서 유용하게 쓰이는 4가지 방법을..

개발/DB 2025.08.10

[oracle]오라클 줄바꿈 처리 및 줄바꿈 제거(chr)

안녕하세요.오늘은 오라클에서 줄바꿈 문자를 제거하는 포스팅을 하겠습니다.쿼리는 상당히 간단합니다. 저는 jqgrid를 사용하면서 줄바꿈 문자들이 들어가면 안된다는 에러를 찾았고쿼리단에서 줄바꿈 문자를 제거하기로 하였습니다. 먼저, 오라클의 chr 함수를 사용해야 합니다.chr 함수의 쓰임새 입니다. CHR(9) : 탭문자 CHR(10) : 줄바꿈(라인피드)CHR(13) : 행의 처음(캐리지리턴)CHR(38) : &CHR(39) : '(따옴표)CHR(44) : 쉼표 그리고 제가 사용한 예 입니다.저는 줄바꿈 문자를 제거하는 방향으로 사용하였습니다.replace(replace(컬럼, chr(10), ''), chr(13), '') 이렇게 하면 줄바꿈 문자가 제거되서 출력됩니다.

개발/DB 2018.04.30

[oracle]RA-00600 내부 오류 코드, 인수 : [evapls1], [], [], [], [], [], [], []

select 문에 like 기능을 사용하다가에러와 부딪히게 되었다.RA-00600 내부 오류 코드, 인수 : [evapls1], [], [], [], [], [], [], [] 해결방법은 select 문에 힌트를 추가해주었다 select/*+ opt_param('_optimizer_cost_based_transformation','off') */ from 테이블명 즉,/*+ opt_param('_optimizer_cost_based_transformation','off') */ 를 추가해주면 됩니다.

개발/DB 2017.03.29

[oracle]오라클 날짜(sysdate) where 조건(날짜 + 시간)

코딩을할때 최근날짜 및 특정 날짜의 데이터를 select 할때 계속 생각이 나질않아...아에 적어두려고 합니다. 기존에 있던 데이터는 sysdate로 넣어둔 값 입니다. 쿼리문 SELECT*FROM테이블 명WHERETO_CHAR(reg_dttm,'yyyy-mm-dd hh24:mi:ss') > '2016-09-22 11:10:00'ORDER BY qstn_doc_sno DESC; to_char(데이터, 'yyyy-mm-dd hh24:mi:ss')이부분으로 데이터를 가공해 where조건에서 사용하고 있습니다.yyyy-mm-dd 는 익숙하시겠지만시간으로 표현하는 hh24:mi:ss 도 기억해두시면 좋을 것 같습니다. 딱 외우고 있으면 얼마나 좋을까 ㅠㅠ

개발/DB 2017.03.13

[oracle] 프로시저(procedure)

안녕하세요. 오늘은 오라클 프로시져 생성 및 실행을 포스팅 해보겠습니다. 프로시저는 로직을 수행만 할 수 있습니다. 반환값이 없습니다! 사실...프로시저 만들때 그냥 가져다가 알맹이만 바꿨지 제대로 해본적이 없어서 혼자 책보면서 만들어 봤습니다. 책을 보면서해도... 헷갈리고 만들어 놨던 프로시저를 변경 할려고해도 굉장히 헷갈리네요 먼저 가장 기초적인 프로시저를 만들고 콘솔로 출력해보겠습니다. create or replace procedure testdb.testprocedure is begin dbms_output.put_line('테스트 프로시져 입니다.'); end testprocedure; 생성하고 실행을 합니다. 실행 방법은 exec testprocedure; 입니다. exec 명령어를 사용하시..

개발/DB 2016.05.30

[oracle]오라클 grouping, grouping_id 설명 및 예제

안녕하세요. 오라클의 group by를 공부하면서 grouping이 나와서... 포스팅하게 되었습니다. 아직 제가 유용하게 써본적은 없지만.... 굳이 말하자면 소계, 합계 구할때 정도??? 하지만 알아두면 좋은 개념이라고 생각되어 정리해 두려고 합니다. 먼저 기본적인 개념 입니다. Grouping(컬럼명) - GROUPING 함수는 그룹쿼리에서 사용하는 함수로 파라미터의 평가값이 NULL 이면 1, NULL 이 아닌 경우에는 0을 반환합니다. ※ GROUPING 함수에서 사용될 컬럼은 반드시 GROUP BY 절에서 명시 되어야 합니다. 즉, 해당 Row가 RollUp에 의서인지 Cube에 의해서 산출된 값인지 구별 할 수가 있습니다. ※ 간단히 말하면 rollup은 함계 를 구하는데 쓰고 음... cu..

개발/DB 2016.05.23

[oracle]오라클 group by, rollup

프로그래밍의 실력을 쌓는 법!은~기초를 탄탄하게 중요하다고 생각합니다. 평소 무심코 썼던 group by....왜 무심코 쓰게 되냐면 기존의 프로젝트에 새로운 컬럼을 추가하고자 하면group by 형식이 아니라는 오류 메시지가 뜨죠... 그럼 그냥 group by 절에 컬럼을 추가해서 에러를 제거하고 프로그램을 안전하게 돌립니다.... 그래서 그냥 막 쓰기보다는 제대로 정리하자 라는 취지에서 포스팅을 하려고 합니다. group by의 개념은...말그래도 그룹을 짓는다! 입니다. 그냥 예제로 살펴보는게 이해가 빠르실 겁니다. 먼저 전체 테이블 확인하겠습니다. 여기에 가장 기초적인 단순 컬럼 하나를 그룹 지어보겠습니다.position별로 그룹지어보겠습니다. selectpositionfromprofessorg..

개발/DB 2016.05.20

[oracle]오라클 함수(function) 생성 및 실행

저번에 프로시저에 대하여 포스팅 하였는데요. 오늘은 같은 부류?의 개념인 함수를 포스팅해보겠습니다. 저번 포스팅에서도 말씀 드렸는데 함수는 반환값이 있고! 프로시저는 반환 값이 없습니다. 그럼 기초적인 함수를 먼저 생성해 보겠습니다. CREATE OR REPLACE FUNCTION test_func RETURN VARCHARIS v_test VARCHAR2(100);BEGIN v_test := 'testFunction'; RETURN v_test; END; 진짜 뼈대 밖에 없는 구조 입니다. test_func가 함수 이름 입니다.함수 이름 아래 return varchar는 리턴 타입입니다. 함수 실행 결과입니다.함수 실행문은 selecttest_func()FROM dual;입니다. v_test가 반환할 ..

개발/DB 2016.05.18

[oracle] 정규식 REGEXP_REPLACE 함수

이 함수는 replace 함수를 확장한 개념으로 주어진 문자역에서 특정 패턴을 찾아서 주어진 다른 모양으로 치환하는 함수이다. 문법 REGEXP_REPLACE (source_char, pattern [, replace_string [, position [, occurrence [, match_param[[[) 첫번째 인수 Source_char : 원본데이터, 컬럼명이나, 문자열이 올수 있다. 두번쨰 인수 pattern : 찾고자 하는 패턴을 의미 세번째 인수 replace_string : 변환하고자 하는 형태 네번째 인수 position : 검색 시작 위치를 지정, 아무런 값도 주지 않을 경우 기본값 : 1 다섯 번째 인수 occurrence : 패턴과 일치가 발생하는 횟수를 의미, 0은 모든 값을 대채..

개발/DB 2016.05.04

[oracle]오라클 ibatis iterate conjunction

오랜만에 DB 쿼리 관련포스팅을 해보겠습니다. 다음과 같은 상황이 있습니다. 사용자의 목록을 뿌려주고 있는데요 ~ 여기서 권한 별로 조건을 주어 검색하려고 합니다. 그러나 남, 여 하나하나씩은 usr_gen = #sh_usr_gen# 같은 형식으로 하면 되지만 '일반', '매니저' 두 조건은 어떻게 줘야 할까요????? 먼저 결과 화면을 확인해 보겠습니다. 저는 이와같은 결과를 얻기위해 열심히 검색했습니다. 제가 select 조건을 보시면 usr_auth_cd = #sh_usr_athList[]# sh_usr_athList는 배열변수 입니다. 이렇게 주었는데요 이제 의문이 iterate, open, close, conjunction의 의미를 파악하셔야 합니다. iterate - 해당객체가 종료될때까지 반..

개발/DB 2016.05.01