Database/SQL32 [SQL] Database Custom Order By (Oracle/Tibero, MySQL, PostgreSQL) 기본 정렬 방식을 떠나 특정 컬럼의 특정 값, 혹은 값의 순서를 커스텀하고 싶을 때 각 Database 마다 어떻게 사용되는 지 살펴보자 예제 컬럼 명 : COLUMN1 허용 값 : 검정, 노랑, 빨강, 파랑 Tibero / Oracle 아래 두 방법 모두 IF ELSE 문의 형태와 유사하다. CASE WHEN 문 SELECT * FROM TBL ORDER BY (CASE WHEN COLUMN1 = '빨강' THEN 1 WHEN COLUMN1 = '검정' THEN 2 WHEN COLUMN1 = '파랑' THEN 3 ELSE 4 END) ASC -- 혹은 DESC COLUMN1의 값이 빨강일 경우는 1 값으로 대체, 검정일 경우는 2 값으로 대체, 파랑일 경우는 3 값으로 대체, 나머지(노랑)일 경우 4 .. Database/SQL 2022. 11. 13. [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. [DBeaver] 일부 테이블의 ERD만 확인하는 방법 및 ERD 이미지 저장하기 DB 테이블 ERD 확인하기 DBeaver는 Tool 내에서 ERD (ER Diagram)을 볼 수 있다. 추출하려는 DB 스키마/테이블 우클릭 "다이어그램 보기" 클릭 ERD 전체 표출 ERD 내 원하는 테이블 관계도 찾기 Ctrl + F 테이블명 검색 입력한 값에 포함되는 테이블을 찾아 화면 이동 DB 일부 테이블 ERD 확인하기 테이블의 양이 어마어마하게 많은 경우.. 아주 많은 ERD가 표출되는데.. 내가 원하는 테이블의 관계도를 보고 싶어서 위와 같이 검색을 하게 되면 DBeaver는 응답없음의 세상속으로 사라져버린다.. 보고자 하는 테이블만 드래그한 뒤 우클릭 "새 ER 다이어그램" 클릭 다이어그램 이름 설정 선택한 테이블의 ERD 표출 ERD Export 하기 하단 탭을 보면 다양한 기능이 .. Database/SQL 2022. 7. 15. [DBeaver] 알아두면 좋은 설정 및 자주 사용하는 단축키 테마 변경 윈도우 - 설정 - User Interface - 모양 - 테마 : Dark 변경 SQL 쿼리 서식 변경 윈도우 - 설정 - 편집기 - SQL 편집기 - SQL 포맷 Formatter : Compact 서식 Keyword case : Upper/Lower 기존에 Oracle을 많이 사용을 해와서인지, 쿼리 명령어가 대문자가 눈에 잘 익히는데 DBeaver는 기본적으로 소문자로 자동변환된다. 이는 키워드 Case를 대문자 혹은 소문자로 설정해 놓을 수 있다. 명령어 대/소문자 자동변환 위에서 대소문자 설정은 했지만, 만약 설정을 해도 자동으로 대/소문자 변환이 안되는 경우는 다음 체크박스가 체크되어있는 지 확인한다. 윈도우 - 설정 - 편집기 - SQL 편집기 - Code Editor : Aut.. Database/SQL 2022. 7. 15. [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] MyBatis Insert Foreach 대용량 데이터 처리 [Oracle] MyBatis Insert Foreach 대용량 데이터 처리 oracle mybatis foreach insert [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE, MERGE, UPDATE) - Oracle [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE, MERGE, UPDATE) - Oracle foreach문은 사용할 때마다 사용되는 위치도 속성도 어려워서 더이상 헷갈리지 않기 위해 남겨본다 :-) ! MySQL foreach 사용방.. haenny.tistory.com 여지껏 Oracle Insert Foreach문이라고 하면 기존에 구현했던 INSERT ALL INTO TABLE 방식을 고집해왔다. 상황에 따.. Database/SQL 2021. 12. 6. [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. 이전 1 2 3 다음 추천 글 728x90 반응형