본문 바로가기

oracle12

[Oracle] 콤마로 분리된 문자열을 여러 행으로 변환(REGEXP_SUBSTR) 일하며 쿼리를 만드는데 컬럼값의 데이터를 콤마(,)를 기준으로 짤라서 각각 행으로 조회하도록 하는 쿼리가 필요하게 됨. 어떻게 해야하나 뒤적뒤적거려보니 답이 나오긴 하더라 나는 콤마(,)를 기준으로 짜르지만 다른사람은 다른 특수문자를 기준으로 짜를수도 있으니까 정규식을 이용해서 콤마(,)를 기준으로 짤라서 조회를 하게 됨. 예제 SELECT REGEXP_SUBSTR(VALUE, '[^,]+', 1, LEVEL) AS GOOD FROM ( SELECT '1,2,3,4' AS VALUE FROM DUAL ) CONNECT BY LEVEL 2024. 3. 29.
[Oracle] 가로(행) 데이터를 세로(열)로 출력 1. 함수 UNPIVOT() 2. 문법 SELECT * FROM [테이블] UNPIVOT ([임의컬럼명1] FOR [임의컬럼명2] IN [세로로 출력할 컬럼 ] ); 임의컬럼명1 세로로 조할 데이터의 컬럼명을 지정 임의컬럼명2 세로로 조회하기로 한 컬럼들의 컬럼명 세로로 출력할 컬럼 가로(행)로 조회되던 데이터 중에 세로(열)로 출력하려고 하는 컬럼들 3. 예시 임의로 데이터를 생성하여 기본적인 조회결과( 각각의 컬럼이 가로로 출력됨) SELECT 'A' AS NAME, 11 AS "1", 12 AS "2", 13 AS "3", 14 AS "4", 15 AS "5", 16 AS "6" FROM DUAL UNION SELECT 'B' AS NAME, 11 AS "1", 21 AS "2", 31 AS "3".. 2023. 12. 14.
[Oracle] 월별 마지막 날짜 조회 LAST_DAY Oracle에서 월별 마지막 일자를 구하기 위한 함수. 월별 마지막일자가 다르기 때문에 매번 마지막 일자를 계산하다가 찾게 된 함수 사용법 SELECT LAST_DAY(TO_DATE(SYSDATE, 'YYYY/MM/DD')) FROM DUAL; SYSDATE에서 일자(DD)에 관계없이 무조건 해당월의 마지막일자로 변경된다 (2023/08/06 → 2023/08/31) 한해의 월별(1~12월) 시작일자 및 종료일자 구하기 SELECT D.START_DAY, LAST_DAY(D.START_DAY) AS END_DAY FROM (SELECT ADD_MONTHS(TO_DATE('2023/01/01', 'YYYY/MM/DD'), LEVEL - 1) AS START_DAY FROM DUAL CONN.. 2023. 8. 6.
ORACLE이란? 장점 및 단점 1. ORACLE이란? Oracle은 대표적인 관계형 데이터베이스 관리 시스템(RDBMS)이다. 이는 데이터베이스 시스템 중 하나로, 대규모 데이터를 저장, 관리 및 처리하는 데 사용된다. Oracle Corporation에서 개발하고 유지보수하며, 다양한 기업과 조직에서 데이터베이스 솔루션으로 널리 사용된다. Oracle RDBMS는 클라이언트-서버 아키텍처를 기반으로 하며, 다양한 운영 체제에서 실행할 수 있다. 대규모 시스템에서도 안정적이고 성능이 우수하며, 복잡한 데이터 관리 기능과 보안 기능을 제공한다. Oracle 데이터베이스는 SQL(Structured Query Language)을 사용하여 데이터를 쿼리하고 관리한다. SQL은 데이터베이스에서 데이터를 추가, 수정, 삭제하고 검색하는 데 사.. 2023. 7. 24.
[Oracle] 프로시저 내용 조회 프로젝트에 투입되어 일을 하다보면 혼자 일하는게 아니라서 내가 만들지 않은 부분에 대해 조회를 해봐야하는 경우가 있는데 정리되어 있는 문서가 없을 경우 찾아보기가 난해할때가 있다. 그럴때 유용한 기능 중 하나 ▶ 프로시저, 함수 등의 내용 검색 SELECT A.OBJECT_ID , A.OBJECT_NAME , A.OBJECT_TYPE , A.TEXT FROM USER_OBJECTS A INNER JOIN USER_SOURCE B ON A.OBJECT_NAME = B.NAME WHERE A.OBJECT_TYPE IN ("찾고자하는 프로시저 등") /* PROCEDURE, FUNCTION, PACKAGE BODY, PACKAGE 등 */ AND A.TEXT LIKE '%찾으려하는 문구(단어)%' /* 찾으려.. 2023. 2. 24.
[Oracle]ORA-28002 에러 오랜만에 로컬 데이터베이스에 접속하니 이런 메세지가 떠버림.... 이거 먼고.... 데이터베이스 암호 사용기간이 만료란다! 데이터베이스가 만들어지고 암호의 기본 사용기간은 180일이라는것을 이번에 알게됨 암호 사용기간 설정 확인은 SELECT RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE = 'DEFAULT' AND RESOURCE_TYPE = 'PASSWORD'; 로 확인하면 PASSWORD_LIFE_TIME 라는 항목이 암호 사용기간이며 변경하지 않은 상태였으면 180으로 되어있다. 비밀번호를 변경하려면 ALTER USER USER IDENTIFIED BY "신규비번" REPLACE "이전비번" ; 예시) ALTER USER USER_ID IDENTIF.. 2022. 2. 26.