oracle24 [PostgreSQL] ARRAY_AGG, ARRAY_TO_STRING 함수 사용하기 (여러 행을 한 행으로) 오늘 살펴볼 POSTGRESQL의 ARRAY_AGG 함수는 ORACLE의 LISTAGG 와 같은 집계 함수라고 생각하면 된다. LISTAGG 는 ORDER BY 표현식에 따라 쿼리 내 각 그룹의 행 순서를 지정해 값을 연결하여 하나의 문자열로 가져온다. 자세한 내용은 다음 게시글을 참고하자. [Oracle] LISTAGG WITHIN GROUP 문 LISTAGG 구문 SELECT LISTAGG (컬럼명, 구분기호) WITHIN GROUP (ORDER BY 정렬기준컬럼) FROM 테이블명 예제 다음 테이블로 사용방법을 살펴보자 동일한 MSD_ID의 값의 LINK_ORG 값을 하나의 컬럼으로 가져오고.. haenny.tistory.com 예제로 이해하기 컬러와 이름의 필드가 있는 데이터를 컬러 별로 묶어서 .. Database/SQL 2022. 8. 17. [Oracle] 특정 컬럼이 존재하는, 존재하지 않는 테이블 찾기 1. '특정컬럼'이 존재하는 테이블 찾기 SELECT DISTINCT TABLE_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME = '특정컬럼' ORDER BY TABLE_NAME 2. '특정컬럼1'과 '특정컬럼2'가 동시에 존재하는 테이블 찾기 SELECT DISTINCT TABLE_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME IN ('특정컬럼1', '특정컬럼2') ORDER BY TABLE_NAME 3. '특정컬럼1'과 '특정컬럼2'가 동시에 존재하지 않는 테이블 찾기 SELECT DISTINCT TABLE_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME NOT IN ('특정컬럼1', '특정컬럼2') ORD.. Database/SQL 2022. 3. 16. [Oracle] DATE 타입의 컬럼 조회 조건 쿼리문 TO_DATE 사용? TO_CHAR 사용? DATE 타입 컬럼 조회 (TO_CHAR 사용) DATE 타입의 컬럼 조회 일자 조회 조건을 줄 때, 습관적으로 TO_CHAR를 사용해왔다. 보통 Javascript 에서 datetimepicker 등의 라이브러리를 이용해서 조회일자의 기간을 조건으로 조회하고, 시작일자와 종료일자의 문자열을 파라메터로 BETWEEN AND 쿼리로 테이블을 조회한다. 큰 고민 없이 주로 TO_CHAR를 사용해왔던 큰 이유는 TO_DATE 처리 시에 DATE FORMAT 에 따라서모두 초기값 처리 되는 문제 때문이었다. SELECT TO_DATE('2022' , 'YYYY') AS YYYY , TO_DATE('2022-01' , 'YYYY-MM') AS YYYYMM , TO_DATE('2022-01-02' , 'YYYY-M.. Database/SQL 2022. 3. 14. [Oracle] SQL Developer 의 Date 표출 Format 설정방법 [Oracle] SQL Developer 의 Date 표출 Format 설정방법 날짜(Date) 타입의 데이터가 데이터 창, 질의 결과, 익스포트 시에 포맷 설정하는 방법이다. 도구 (Tools) - 환경설정 (Preference) 클릭 후 데이터베이스 - NLS 선택 날짜 형식을 원하는 포맷으로 변경 Database/SQL 2022. 2. 3. [Oracle] 오라클 에러코드 모음 [ORA-CODE] [Oracle] 오라클 에러코드 모음 [ORA-CODE] 출처 : http://arraybox.com/entry/Oracle-Error-Code ora-code 설명 ora-00000 성공적인 정상 종료입니다. ora-00001 유일성 제약조건(%s.%s)에 위배됩니다. ora-00017 트레이스 이벤트 설정이 세션에 요구되었습니다. ora-00018 최대 세션 수를 초과했습니다. ora-00019 최대 세션 라이선스 수를 초과했습니다. ora-00020 최대 프로세스 수(%s)를 초과했습니다. ora-00021 세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다. ora-00022 부적절한 세션 번호; 액세스가 거절되었습니다. ora-00023 세션이 프로세스 고유의 메모리를 참조함; 세.. Database/SQL 2021. 12. 21. [Oracle] SQL Developer 엑셀 데이터 임포트 하는 방법 [Oracle] SQL Developer 엑셀 데이터 임포트 하는 방법 데이터 임포트할 테이블 마우스 우측 키 클릭 + 데이터 임포트 선택 데이터 임포트할 파일 선택 파일 선택 시 엑셀파일의 데이터가 아래 '파일 내용'에 표출된다. 여기서는 임포트할 데이터와 제외할 데이터를 선택해주면된다. 사용 가능한 열 : 제외할 데이터 컬럼 선택된 열 : 임포트할 데이터 컬럼 맞춰줄 데이터 형식이 있다면 체크하고 넘어간 뒤 완료를 누르면 끝 ! 대용량 데이터 엑셀로 익스포트 방법이 궁금하다면 ? [Oracle] SQL Developer 대용량 데이터 익스포트하는 방법 [Oracle] SQL Developer 대용량 데이터 익스포트하는 방법 SQL Developer 에서 출력한 데이터를 익스포트(Export)하는 경우.. Database/SQL 2021. 12. 9. [Oracle] SQL Developer 대용량 데이터 익스포트하는 방법 [Oracle] SQL Developer 대용량 데이터 익스포트하는 방법 SQL Developer 에서 출력한 데이터를 익스포트(Export)하는 경우에 데이터 양에따라 지연시간이 길어지고, 대용량 데이터의 경우에는 최대 자동열기 크기를 초과하여 열수 없다는 문구가 나오기도한다. 이를 해결하는 여러 방법 중 한 가지를 오늘 살펴보자. 조회한 레코드 마우스 우측키 클릭 + 익스포트 선택 데이터 형식 : insert ps. 해결방법이 아닙니다. 여기서 보통 익스포트 형식을 insert로 한다. 데이터가 많지 않거나, 바로 insert용 쿼리로 익스포트하기 위해서는 이 형식이 더 편리하다. 하지만 대용량 데이터를 insert 형식으로 익스포트하는 경우 경고창이 발생한다. 해결방법 데이터 형식 : excel 2.. Database/SQL 2021. 12. 9. [Oracle] 현재 날짜와의 차이 계산하기 : 일 차, 주 차, 월 차 (TRUNC 활용) [Oracle] 현재 날짜와의 차이 계산하기 : 일 차, 주 차, 월 차 (TRUNC 활용) MySQL 날짜 차이 계산 및 활용방법 관련 게시글 ▼▼▼▼ [MySQL] 현재 날짜와의 차이 계산하기 : 일 차, 주 차, 월 차 [MySQL] 현재 날짜와의 차이 계산하기 : 일 차, 주 차, 월 차 1. 현재 날짜와 특정 날짜의 차이 값 계산하기 TIMESTAMPDIFF(옵션, 날짜1, 날짜2) 옵션 DAY, WEEK, MONTH 기준으로 일 차, 주 차, 월.. haenny.tistory.com 해당 글은 TRUNC 함수에 대한 기본 구문 및 특징을 알아야 이해하기 쉽습니다. 아래 게시글을 참고바랍니다. [Oracle] TRUNC 함수 사용방법 (날짜, 시간, 요일, 숫자) [Oracle] TRUNC 함수.. Database/SQL 2021. 11. 10. [Oracle] TRUNC 함수 사용방법 (날짜, 시간, 요일, 숫자) [Oracle] TRUNC 함수 사용방법 (날짜, 시간, 요일, 숫자) TRUNC("값", "옵션") TRUNC 함수는 오라클의 기본적인 함수로 주로 소수점 절사나 날짜의 시간을 없앨 때 사용한다. TRUNC(숫자) 위와 같이 TRUNC를 숫자에 적용하는 경우 소수점을 모두 절사한다. SELECT TRUNC(NUM, 1)-- NUM = 1234.56 FROM TEMP 이는 소수점 자리 1 (옵션 값)까지 절사, 즉 자르라는 의미이다. ROUND와 같이 반올림을 해주지 않고 지정한 자릿수 이후로 자른다. TRUNC(날짜) 옵션이 없는 경우 기본적으로 시간을 절사하며, 옵션을 입력한 경우 입력한 부분까지 표출하고 그 나머지를 "00"으로 초기화한다. 시간 절사 SELECT TRUNC(DT, 'DD')-- 시.. Database/SQL 2021. 11. 10. [ORACLE] 집계함수의 SUMMARY 구하기 - ROLLUP 함수 [ORACLE] 집계함수의 SUMMARY 구하기 - ROLLUP 함수 CR_DTM, CR_TYPE 그룹으로 갯수(CNT) 관련컬럼은 합(SUM)을 비율(RATE) 관련컬럼은 평균(AVG)를 나타내려고 한다. 단계 1. 집계 함수 (SUM, AVG) SELECT CR_DTM , CR_TYPE , SUM(TOTAL_CNT) AS TOTAL_CNT , SUM(MINUTE1_CNT) AS MINUTE1_CNT , AVG(MINUTE1_RATE) AS MINUTE1_RATE , SUM(MINUTE2_CNT) AS MINUTE2_CNT , AVG(MINUTE2_RATE) AS MINUTE2_RATE , SUM(MINUTE3_CNT) AS MINUTE3_CNT , AVG(MINUTE3_RATE) AS MINUTE3_.. Database/SQL 2021. 10. 28. [MyBatis] For input string: "문자" 오류 해결방법 오류 로그 Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.NumberFormatException: For input string: "Y" ### Cause: java.lang.NumberFormatException: For input string: "Y" at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.. Database/MyBatis 2021. 8. 27. [Oracle] "ORA-06502: PL/SQL: 수치 또는 값 오류: 문자열 버퍼가 너무 작습니다" 오류 해결 [Oracle] "ORA-06502: PL/SQL: 수치 또는 값 오류: 문자열 버퍼가 너무 작습니다" 오류 해결 CLOB 타입의 데이터를 조회하는 과정에 발생한 오류이다. 전자정부 프레임워크 SpringMVC 모델의 프로젝트의 MyBatis 를 사용하여 DB 데이터를 조회한 쿼리를 VO 객체에 담아 View에 보내는 과정이었다. CLOB 타입의 데이터를 VO에 담기 위해서는 다음과 같은 쿼리를 작성했다. SELECT SEQ_NO , SUBJECT , DBMS_LOB.SUBSTR(CONTENTS_CLOB, 4000, 1) AS CONTENTS FROM WEB_OP_BBS CONTENTS_CLOB 컬럼의 컨텐츠를 지정 바이트 (4000) 만큼 잘라오는 쿼리이다. 실제로 CONTENTS_CLOB 에 이미지 .. Database/SQL 2021. 4. 30. 이전 1 2 다음 추천 글 728x90 반응형