본문 바로가기

데이터베이스/Oracle

(7)
Oracle 문자열 변경 함수 REGEXP_REPLACE(정규식조사) REGEXP_REPLACE 함수는 주어진 문자열을 대상으로 정규식 패턴을 조사하여, 다른 문자로 대체하는 함수로, REGEXP_LIKE와 비슷하게 기존에 REPLACE를 확장한 개념이다. //REGEXP_LIKE를 모르시는 분은 이글 참고해주세요. https://sinsucoding.tistory.com/20 Oracle 정규식 추출 REGEXP_LIKE 함수(문자열포함 검색) REGEXP_LIKE함수는 간단하게 설명드리자면 저희는 특정 문자열 포함을 검색할 때 LIKE함수를 사용하는데 시작 문자가 010,011,016인 문자열을 출력 할때 저희는 불편하게 or을 사용하여 나타내야 합니 sinsucoding.tistory.com REGEXP_REPLACE 함수 -문 법: REGEXP_REPLACE(칼럼,..
Oracle 정규식 추출 REGEXP_LIKE 함수(문자열포함 검색) REGEXP_LIKE함수는 간단하게 설명드리자면 저희는 특정 문자열 포함을 검색할 때 LIKE함수를 사용하는데 시작 문자가 010,011,016인 문자열을 출력 할때 저희는 불편하게 or을 사용하여 나타내야 합니다. REGEXP_LIKE는 이 불편함을 해결해줄뿐만 로그인 아이디가 이메일 형식인지 비밀번호가 특수문자를 포함했는지 등 포맷 일치를 확인하고 싶을 때도 유용하게 쓰일 것 같습니다. (설명이 부족한 거 같아 죄송합니다 꾸벅) 사용법도 역시 너무 간단합니다 ㅎㅎ REGEXP_LIKE( ) 함수 REGEXP_LIKE(컬럼, 조건); ex1) 소문자를 포함하고있는 행 출력 SELECT * FROM TEST WHERE REGEXP_LIKE(PASSWORD, '[a-z]'); ex2) 소문자를 포함하고있지..
Oracle if 조건 함수 DECODE() DECODE() 함수는 무려 저희가 항상 쓰는 if else 문을 오라클 SQL안으로 가져온 함수입니다. DECODE() 함수는 오직 오라클에서만 사용이 가능한게 아쉽긴 하지만 굉장히 많이쓰일것 같은 함수입니다. if문을 구현한 것이라 정말 다양하게 중첩으로도 많이 쓰일수 있습니다. 사용법도 역시나 너무 간단합니다 ㅎㅎ DECODE( ) 함수 ex1) A가 B일경우 '1' 을 출력한다. (아닐경우 다 null) -DECODE (A,B,'1',null) (마지막 null은 생략 가능 합니다) ex2) A가 B일경우 '1' 을 출력하고 아닐 경우 '2'를 출력한다. -DECODE (A,B,'1','2') ex3) A가 B일경우 '1' 을 출력하고 A가 C일경우 '2'를 출력하고 둘 다 아닐경우 '3'을 출력..
Oracle null값을 만나면 다른 값으로 치환해주는 함수 NVL() ,NVL2() Null 값을 그냥 두지 않고 다른 값으로 표현하고 싶을 때 매우 유용한 함수이다. 많이 쓰일수 있을 것 같아 정리해본다. 역시 사용법은 간단합니다 ㅎㅎ NVL( ) 함수 : NULL 값을 만나면 다른 값으로 치환해서 출력하는 함수 -문 법:NVL(컬럼명, 치환할 값) //null 값이 있으면 0으로 치환하여라 또 null 값이 아닐경우도 같이 처리해주는 유용한 함수가 있다. NVL2( ) 함수 -문 법:NVL2(칼럼, 칼럼, 칼럼) //NVL2 (칼럼명, [null 값이 아닐 경우], [null 값일 경우]) //null 값이 아니면 sal+comm값으로 치환 , null 값이면 0으로 치환하여라
Oracle "quoted string not properly terminated" 에러 Oracle를 쓰다 보면 종종 발생하는 에러이다. 바로 ( ' ) (작은따옴표)를 지정하지 않아서 나는 에러이다. 코드를 자세히 보면 알수있다 ㅠㅠ 꼭 꼭 확인하자!! SQL> select empno,ename,hiredate,to_char((sal*12)+comm,'$999,999) as "sal", to_char(((sal*12)+comm)*1.15, '$999,999') as "15% UP" from emp where comm is not null; ERROR: ORA-01756: quoted string not properly terminated
Oracle 문자열에서 문자검색 INSTR 문자열에서 해당 문자의 위치를 반환해주는 함수 이것도 유용하게 쓰일 거 같아 정리해놓는다. INSTR() 함수 문 법:INSTR('문자열' 또는 칼럼, 찾는 글자, 시작 위치, 몇 번째인지(기본값은 1) ) 사용 방법은 간단하다. SQL> select INSTR('1234-1234-1234', '5') as "INSTR" from dual; INSTR ---------- //5라는 문자를 찾기 : 없기에 0 반환 0 SQL> select INSTR('1234-1234-1234', '1') as "INSTR" from dual; INSTR ---------- //1이라는 문자를 찾기 : 첫 번째 위치에 있기에 1 반환 1 SQL> select INSTR('1234-1234-1234', '1',8) as "..
Oracle 문자열 추출 SUBSTR() 함수 Oracle로 원하는 문자열만큼 추출하는 함수이다. 자주 쓰일 것 같아 정리해둔다. SUBSTR() 함수 문 법: SUBSTR('문자열' 또는 컬럼명 , 1,4) //1번째에서 4개 문자 검색 출력 아래 쿼리 처럼 -(마이너스) 기준을 줄 경우 뒤에서부터 자릿수를 계산해서 문자를 추출해냅니다. SQL> select substr('12345678910',3,2) as "3,2" , substr('12345678910',-3,2) as "-3,2", substr('12345678910',-3,10) as "-3,4" from dual ; 3,2 -3,2 -3,4 ------ ------ ------ 34 91 910