본문 바로가기
반응형

SQL/Oracle91

오라클 컬럼에서 숫자 문자 데이터만 추출방법 정리 오라클에서 REGEXP_LIKE를 이용해서 테이블 컬럼 내의 숫자, 문자 데이터만 검색할 수 있는데 프로그램으로 INSERT를 하지 않고 직접 테이블에 INSERT를 해서 규칙에 어긋난 값들을 찾을 때 주로 사용된다 WHERE 절에서 REGEXP_LIKE(컬럼, '^[[:digit:]]+$') 를 사용하면 0부터 9까지 숫자만 들어있는 데이터를 뽑아올 수 있고 문자열 데이터만 뽑아오려면 NOT IN을 사용해서 숫자만 들어있는 컬럼을 제외하면 나머지는 모두 문자열이 되므로 문자열을 뽑아올 수 있다 마지막으로 예제에 사용한 쿼리는 아래와 같다 WITH TBL AS ( SELECT 'AAAAAA' AS COL1 FROM DUAL UNION ALL SELECT 'AAA111' AS COL1 FROM DUAL U.. 2020. 12. 9.
오라클 날짜 더하는 방법 빼는 방법 정리 오라클에서 날짜를 계산하는 방법은 ADD_MONTHS, +로 값을 넣어주는 방법과 INTERVAL을 이용한 방법이 있는데 일단 안좋은 방법인 ADD_MONTHS, +를 이용한 방법을 보자면 sysdate가 아닐 경우 TO_DATE로 date 타입으로 만들어준 뒤 ADD_MONTH(값, 1)을 하면 1달을 더하게 되고 12를 입력해주면 1년을 더하게 된다 반대로 빼려면 +만 -로 바꿔주면 된다 다음으로 일, 시간, 분, 초는 +-로 추가해야 하는데 1은 1일 1/24는 1시간 1/1440은 1분 1/86400은 1초가 되겠다 근데 딱 보면 알겠지만 이런 식으로 하면 불편하다.. 반면 INTERVAL을 사용하면 날짜 덧셈 뺄셈을 훨씬 편하게 할 수 있는데 값 + INTERVAL '값' 년/월/일/시/분/초 .. 2020. 12. 8.
오라클 REPLACE 여러개 사용방법 (REGEXP_REPLACE) 오라클에서 REPLACE를 여러개 사용할 경우에는 REGEXP_REPLACE를 사용해주면 되는데 REGEXP(값, '바꿀값||바꿀값', '뭘로바꿀지') 로 이루어져 있는데 여기서 여러 항목을 REPLACE 해주려면 바꿀값에 ||를 붙이면서 연결하면 된다 위 예제는 'AAA,BBB,CCC,DDD' 중 BBB와 DDD를 XXX로 바꾸는 쿼리인데 출력을 해 보니 BBB와 DDD만 바뀌어 AAA,XXX,CCC,XXX로 출력이 된 것이 보인다 예제에 사용한 쿼리는 다음과 같다 SELECT REGEXP_REPLACE('AAA,BBB,CCC,DDD', 'BBB|DDD', 'XXX') FROM DUAL 2020. 12. 2.
오라클 REPLACE 함수 사용방법 오라클에서 REPLACE는 REPLACE(값, '바꿀값', '뭘로바꿀지') 로 이루어져 있는데 위 예제를 보면 REPLACE('ABC', 'B', 'Q')는 ABC에서 B만 Q로 바꿔서 반환한다는 말이라 B가 Q로 바뀐 AQC가 출력되는 것이 보인다 REPLACE를 여러개 사용하려면 아래 링크를 참조해주면 되고 오라클 REPLACE 여러개 사용방법 (REGEXP_REPLACE) 오라클에서 REPLACE를 여러개 사용할 경우에는 REGEXP_REPLACE를 사용해주면 되는데 REGEXP(값, '바꿀값||바꿀값', '뭘로바꿀지') 로 이루어져 있는데 여기서 여러 항목을 REPLACE 해주려면 바꿀값에 ||를 붙 wakestand.tistory.com 예제에 사용한 쿼리는 다음과 같다 SELECT REPLAC.. 2020. 12. 2.
오라클 조회결과 없어도 출력시키는 방법 오라클에서 일반적으로 조회 시 조회 결과가 없으면 아무 행도 출력되지 않는데 그런 상황에서도 뭔가 값을 조회시키고자 한다면 두가지 방법이 있는데 집계함수(COUNT MAX MIN SUM AVG)를 사용해 출력시키거나 혹은 UNION ALL과 NOT EXISTS를 사용한 출력방법인데 오라클 EXISTS NOT EXISTS 개념 및 예제 오라클에서 EXISTS와 NOT EXISTS는 WHERE EXISTS (서브쿼리) 방식으로 사용하는데 오라클 서브쿼리 사용방법 및 예제 오라클에서 서브쿼리(Subquery)는 쿼리 안에 쿼리를 넣는다는 말인데 서브쿼리는 SELECT wakestand.tistory.com 먼저 집계함수를 이용한 출력방법은 데이터타입에 상관 없이 집계함수를 사용해 주면 조회 결과가 없을 경우에.. 2020. 12. 1.
오라클 EXISTS NOT EXISTS 개념 및 예제 오라클에서 EXISTS와 NOT EXISTS는 WHERE EXISTS (서브쿼리) 방식으로 사용하는데 오라클 서브쿼리 사용방법 및 예제 오라클에서 서브쿼리(Subquery)는 쿼리 안에 쿼리를 넣는다는 말인데 서브쿼리는 SELECT, FROM, WHERE 중 어디에든 올 수 있다 위 스크린샷과 같이 SELECT 쪽에 서브쿼리가 올 경우 스칼라 서브쿼리(Scalar wakestand.tistory.com EXISTS는 서브쿼리에서 조회한 결과가 있을때는 정상적으로 조회를 수행하고 조회한 결과가 없을 때에는 아무 값도 출력되지 않는다 반대로 NOT EXISTS는 조회한 결과가 없을 경우에만 조회를 수행하고 조회한 결과가 있다면 아무 값도 출력되지 않는다 예제에 사용한 쿼리는 아래와 같다 SELECT * FR.. 2020. 11. 30.

반응형