본문 바로가기
728x90

SQL/ORACLE4

[ORACLE] 오라클 regexp_replace 정규표현식 - 전화번호, Email 마스킹 예제 select REGEXP_REPLACE(REGEXP_REPLACE(tel, '(02|.{3})(.+)(.{4})', '\1-\2-\3'), '(.{3})(.*)(.{4})', '\1-****-\3') as tel1 -- 결과: 010-****-4567 ,REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(tel, '(02|.{3})(.+)(.{4})', '\1-\2-\3'), '(.{3})(.*)(.{4})', '\1-****-\3'),'-','') as tel2 -- 결과: 010****4567 from dual select REGEXP_REPLACE('test@test.co.kr' , '([[:alnum:]]+)(@[[:alnum:]]+(\.[[:alnum:]]+)+)','******.. 2023. 8. 3.
[Oracle] 다중 INSERT - 여러 행 한번에 넣기 Oracle - 다중 INSERT 하는 방법이다 보통 INSERT를 할 때 쓰는 쿼리문은 이런 형태이다 INSERT INTO 테이블 명 VALUES ('값1', '값2', '값3') 만약 특정 컬럼에만 INSERT를 하고싶다면 INSERT INTO 테이블 명 (컬럼1, 컬럼2, 컬럼3) VALUES ('값1', '값2', '값3') 이제 다중 테이블이나 특정 테이블에 두번 INSERT하면 INSERT ALL INTO 테이블 명 (컬럼1, 컬럼2, 컬럼3) VALUES ('값1', '값2', '값3') INTO 테이블 명 (컬럼1, 컬럼2) VALUES ('값1', '값2') SELECT * FROM DUAL 이렇게 사용하면 된다 2022. 1. 15.
[ORACLE] NULL 값 치환 NVL, NVL2 함수 - 그룹핑 예제 포함! 오라클에서 쿼리문 작성 중 SUM이나 AVG 등으로 그룹핑을 하는데, 데이터가 NULL값이면 데이터가 뽑히지 않는다! 근데 나는 0 이나 '' 라도 뽑고싶다! 그럴 때 NVL, NVL2 함수를 사용하면 된다. 사용법은 간단! NVL(컬럼, NULL일때 반환 값) 이렇게 감싸주면 된다. - 예제 - NVL(컬럼,0) -- 컬럼의 값이 NULL일경우 0으로 치환 NVL(컬럼,'') -- 컬럼의 값이 NULL일경우 ''으로 치환 NVL(컬럼,SYSDATE) --컬럼의 값이 NULL일경우 현재날짜로 치환 그리고 SUM 이나 AVG 등으로 그룹핑을 할 때는 NVL(SUM(컬럼), 0) -- SUM한 컬럼의 값이 NULL일경우 0으로 치환 NVL(SUM(컬럼), ’’) -- SUM한 컬럼의 값이 NULL일경우 ''.. 2022. 1. 9.
[Oracle] 오라클에서 데이터 타입 number VS integer VS int 차이 문득 테이블 생성시 데이터 타입을 생각하다가 number 와 integer, int 의 차이가 궁금해졌다. 여러 사이트를 뒤져본 결과... BINARY_INTEGER = -2147483647에서 2147483647 사이의 정수 NUMBER[(P, S)] = 고정 및 부동 소숫점 수에 대한 기본 유형 INT = INTEGER의 또다른 이름 int와 integer는 같은 뜻이고 정수. number는 소수점까지! 보통 integer보단 number를 많이 쓰는 것 같다. 참고로 오라클에서는 integer를 잘 사용하지 않으며 integer 사용시 오라클에서 자체적으로 number로 변환하여 저장한다고 한다. float 타입도 마찬가지! 참고 Data Types - MariaDB Knowledge Base ht.. 2021. 8. 31.
728x90