본문 바로가기
반응형

DEV/DB9

[SQL] 열을 행으로 바꾸는 방법 정리, CONECT BY LEVEL/UNION ALL/UNPIVOT 이걸로 일주일 고민한 사람의 UNPIVOT 포스팅 계좌번호 (ACCT_NO) 고객아이디 (CUST_NO) 대출종류1 금액 (LOAN_COST1) 대출종류2 금액 (LOAN_COST2) 대출종류3 금액 (LOAN_COST3) 대출종류 4 금액 (LOAN_COST4) 대출종류5 금액 (LOAN_COST5) 12345678 1234 500 0 200 0 100 계좌번호 (ACCT_NO) 고객번호 (CUST_NO) 대출종류 (LOAN_DF) 금액 (COST) 12345678 1234 1 500 12345678 1234 3 200 12345678 1234 5 100 위의 테이블 구조에서 아래 테이블 구조로 변경해서 사용할 일 즉 열을 행으로 바꿔야 하는 일이 생겼는데 UNPIVOT을 생각하지 못한 나를 반성하며 .. 2023. 3. 29.
데이터 마트란? 데이터 마트의 정의 데이터 마트는 조직의 사업부와 관련된 정보를 포함하는 데이터 스토리지 시스템입니다. 여기에는 회사가 더 큰 스토리지 시스템에 저장하는 데이터의 일부만 포함됩니다. 데이터 마트를 사용해 데이터에 빠르게 액세스하고, 인사이트를 신속하게 얻을 수 있습니다. 기업은 데이터 마트를 사용하여 부서별 정보를 보다 효율적으로 분석합니다. 복잡한 데이터 웨어하우스 또는 다양한 소스로부터 수동으로 집계된 데이터 내에서 원하는 데이터를 탐색하는 시간을 줄여줍니다. 데이터 마트가 중요한 이유 👉 효율적인 데이터 검색 기업은 데이터 마트를 사용하여 특정 정보에 보다 효율적으로 액세스할 수 있습니다. 데이터 마트에는 부서에서 자주 액세스하는 관련 세부 정보가 포함되어 있습니다. 따라서 비즈니스 관리자는 성과 .. 2023. 1. 13.
Postgresql 공백제거(TRIM, REGEXP_REPLACE) 1. TRIM SELECT TRIM([컬럼]) FROM [테이블] 공백제거할때 보통 TRIM을 사용하는데 TRIM은 모든 공백을 다 제거하는 것이 아니라 ascii 코드가 32인 공백만 제거합니다. 그래서 REGEXP_REPLACE 함수를 사용해 정규식을 통해 공백을 제거하는 방법이 필요할 때가 있습니다. 2. REGEXP_REPLACE SELECT REGEXP_REPLACE([컬럼], '^\t+', '') FROM [테이블]; ' \t ' 와 같은 공백을 제거할때는 정규식 표현을 사용해서 공백을 제거 할 수 있습니다. 2022. 7. 12.
[MySQL] JOIN 하기 JOIN 이해하기 Table 두개를 JOIN 해 원하는 데이터를 추출할 수 있다. 가령 DOG Table과 CAT Table이 있고 두 테이블 가운데 이름이 같은 정보만 알고 싶다면 아래 보이는 쿼리문을 사용하면 된다. SELECT * FROM DOG AS A INNER JOIN CAT AS B ON A.NAME = B.NAME * INNER JOIN - 내부조인이라고 하며 그림의 가운데에 있는 것 처럼 교집합만을 리턴한다. 두 테이블이 동일한 값을 가지고 있지않다 면 데이터의 결함이 일어날 수 있다. * LEFT JOIN - LEFT JOIN은 쿼리문의 왼쪽 테이블(선행테이블)을 기준으로 오른쪽 테이블(후행테이블)을 결합합니다. 선행테이블에 대한 정보손실을 발생하지 않고, 후행 테이블의 선행테이블과 일.. 2020. 8. 4.
[MySQL] DATETIME 가공하기 * 날짜 데이터에서 일부만을 추출하기 YEAR : 연도 MONTH : 월 DAY : 일 (DAYOFMONTH와 같은 함수) HOUR : 시 MINUTE : 분 SECOND : 초 SELECT HOUR(DATETIME) AS HOUR FROM DATETABLE * 원하는 포맷으로 바꾸기 DATE_FORMAT SELECT DATE_FORMAT(DATETIME,'%Y-%m-%d') FROM DATETABLE %a 요일 이름 ( Sun.. Sat) %b 월 이름 ( Jan.. Dec) %c 월, 숫자 ( 0.. 12) %D 영어 날 ( 0th, 1st, 2nd, 3rd, ...) %d 월의 일 ( 00.. 31) %e 월의 일( 0.. 31) %f 마이크로 초 ( 000000.. 999999) %H 시간 ( 0.. 2020. 8. 3.
[MySQL] NULL 처리하기 NULL 인 데이터 찾기 * IS NULL SELECT ANIMAL_ID FROM ANIMAL_INS WHERE name IS NULL NULL 이 아닌 데이터 찾기 * IS NOT NULL SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL NULL일경우 다른 값으로 치환 * IFNULL(필드명, '바꿀 이름') SELECT ANIMAL_TYPE,IFNULL(NAME,'No name') as NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID 2020. 7. 31.
반응형