본문 바로가기

Structured Query Language/Oracle SQL

(27)
오라클 정규식 (REGEXP) 사용법 오라클 정규식 (REGEXP)오라클은 10g 부터 REGEXP로 시작하는 함수를 지원 합니다. (Regular Expression 이라는 정규식의 의미 입니다.)이 함수를 통해 데이터의 패턴을 보다 다양하게 찾고, 변경할 수 있게 되었습니다. 정규식 함수는 다음과 같습니다.함수설명REGEXP_LIKELike 연산과 유사하여 정규식 패턴을 검색REGEXP_REPLACE정규식 패턴을 검색하여 대체 문자열로 변경REGEXP_INSTR정규식 패턴을 검색하여 위치 반환REGEXP_SUBSTR정규식 패턴을 검색하여 부분 문자 추출REGEXP_COUNT(v11g)정규식 패턴을 검색하여 발견된 횟수를 반환그리고 정규식에는 메타문자와 리터럴 문자라는 것이 있습니다. ※ 메타문자란?    검색 알고리즘을 지정하는 연산자를..
[Oracle|오라클] 여러개(다중) LIKE 검색 방법 (REGEXP_LIKE 함수) 본글은 아래서 발췌하였다. https://gent.tistory.com/51 [Oracle|오라클] 여러개(다중) LIKE 검색 방법 (REGEXP_LIKE 함수) 오라클에서 여러 개의 단어를 LIKE로 검색하기 위해서는 동적 쿼리를 사용하거나 LIKE를 OR로 묶어서 사용했다. Oracle 10g부터 정규식 함수가 추가 되었으며 그 중에서 REGEXP_LIKE 함수를 사용하여 다 gent.tistory.com 오라클에서 여러 개의 단어를 LIKE로 검색하기 위해서는 동적 쿼리를 사용하거나 LIKE를 OR로 묶어서 사용했다. Oracle 10g부터 정규식 함수가 추가 되었으며 그 중에서 REGEXP_LIKE 함수를 사용하여 다중 검색을 쉽게 할 수 있게 되었다. 검색할 단어를 파이프(|)로 연결하여 하나..
[Oracle] 정규식 사용법 쉽게 설명 (REGEXP) 젠트의 프로그래밍 세상의 글을 발췌한 내역이다 https://gent.tistory.com/546 [Oracle] 정규식 사용법 쉽게 설명 (REGEXP) 오라클 10g부터 정규식을 사용할 수 있도록 함수가 추가되었다. 정규식을 사용하면 문자열을 패턴으로 찾거나 자를 수 있기 때문에 기존의 복잡하게 구현된 쿼리문을 정규식 함수를 사용하여 간 gent.tistory.com 오라클 10g부터 정규식을 사용할 수 있도록 함수가 추가되었다. 정규식을 사용하면 문자열을 패턴으로 찾거나 자를 수 있기 때문에 기존의 복잡하게 구현된 쿼리문을 정규식 함수를 사용하여 간단하게 처리할 수 있다. 일반적인 프로그래밍 언어에서 사용하는 정규식을 그대로 사용할 수 있으나, 전방 탐색 또는 후방 탐색 등 일부 지원하지 않는 패턴..
오라클 정규식 (REGEXP) 오라클 정규식 (REGEXP) 오라클은 10g 부터 REGEXP로 시작하는 함수를 지원 합니다. (Regular Expression 이라는 정규식의 의미 입니다.) 이 함수를 통해 데이터의 패턴을 보다 다양하게 찾고, 변경할 수 있게 되었습니다. 정규식 함수는 다음과 같습니다. 함수 설명 REGEXP_LIKE Like 연산과 유사하여 정규식 패턴을 검색 REGEXP_REPLACE 정규식 패턴을 검색하여 대체 문자열로 변경 REGEXP_INSTR 정규식 패턴을 검색하여 위치 반환 REGEXP_SUBSTR 정규식 패턴을 검색하여 부분 문자 추출 REGEXP_COUNT(v11g) 정규식 패턴을 검색하여 발견된 횟수를 반환 그리고 정규식에는 메타문자와 리터럴 문자라는 것이 있습니다. ※ 메타문자란? 검색 알고리..
SQL, 알다가도 모르겠는 Window 함수와 예시들 Window 함수는 주로 다음과 같은 예시에서 활용되는 것 같다. 2015년, 일별 자전거 누적 이용량 구하기. 한달간 자전거 이용량의 이동평균 구하기. 2015년 10월 25일, 각 자전거가 가장 마지막에 반납된 정거장을 구하기. 각 대여소에서 대여 시간이 가장 긴 3개의 행 구하기. 어떤 자전거의 다음 대여 시간 찾기. 1. Syntax Window 함수는 윈도우라고 부르는 행의 그룹에 대한 집계 분석(예를 들어 SUM, COUNT) 값을 반환한다. 윈도우? 집계 분석? 도대체 무슨말인가 이게.. 우선 어떻게 생겼는지 구조부터 확인해보자. 다음은 예시로 활용할 테이블(table_a) 이다. syntax 예시 SELECT *, Avg(TIME) over( PARTITION BY id ORDER BY D..
SQL OVER 절 1. 테이블 정의 물품 A의 재고관리를 위해 다음과 같은 테이블 "창고"가 있다고 가정해 보자. 칼럼명 데이터 타입 번호(PK) LONG 날짜 DATE 수량 INT 위 테이블은 창고에 A가 언제, 얼마나 입/출고 되었는지 나타낸다. 수량이 양수일 시 입고, 음수일 시 출고를 의미한다. 데이터는 아래와 같다. 번호 날짜 수량 1 2021-10-01 5 2 2021-10-02 -3 3 2021-10-04 6 2. OVER 절 위 데이터에서 각 날짜별로 창고의 재고를 알고싶다고 할 때, 필요한 데이터는 전체 합이 아닌 날짜별 누적합이다. 데이터는 아래와 같을 것이다. 번호 날짜 수량 재고 1 2021-10-01 5 5 2 2021-10-02 -3 2 3 2021-10-04 6 8 즉, 1번 행은 10월 1일까..
[오라클/ORACLE] 형변환 CAST 연산자 , TO_XXXX 함수 ( TO_NUMBER, TO_DATE, TO_CHAR ) 1. 형 변환의 원칙 암시적 형 변환은 원하지 않는 결과가 발생할 수 있으니 명시적으로 형 변환을 사용 단순하게 데이터 타입의 변환은 CAST 연산자 사용 데이터 타입의 변환 + 포맷이 필요한 경우는 TO_XXXX 함수를 사용 WHERE 절의 컬럼은 형 변환을 최소화 2. CAST 연산자 CAST 연산자는 단순한 데이터 타입 변환에 사용하기 편함 SELECT CAST ( 사원번호 AS VARCHAR(3)) -- 숫자형에서 문자로 ,CAST ( 부서코드 AS NUMBER(3)) -- 문자에서 숫자로 ,CAST ( NULL AS VARCHAR(3)) -- NULL 에서 문자로 FROM 사원정보 3. TO_XXXX 함수 특정 형식의 값이 필요한 경우 TO_CHAR, TO_DATE, TO_NUMBER의 형변환 ..
Oracle SQL_EXTRACT EXTRACT Function EXTRACT(field FROM source) datetime 또는 interval 표현식에서 년, 월, 일 또는 시간 등 특정 값을 추출하기 위해 사용됩니다. 매개변수 field - source에서 추출하고자 하는 특정 값입니다. source - 추출되는 값으로 DATE, INTERVAL, TIMESTAMP의 타입으로 설정합니다. source의 타입 추출 가능한 값(field) DATE YEAR, MONTH, DAY INTERVAL YEAR TO MONTH YEAR, MONTH INTERVAL DAY TO SECOND DAY, HOUR, MINUTE, SECOND TIMESTAMP YEAR, MONTH, DAY, HOUR, MINUTE, SECOND [source에서 추..