본문 바로가기
반응형

웹프로그래밍/Oracle or Sql41

ORACLE, TIBERO REGEXP_SUBSTR 사용법 ORACLE, TIBERO REGEXP_SUBSTR 사용법 1. DB DB에 해당 데이터가 있다고 가정하고 REGEXP_SUBSTR(CODE_PATH,'[^/]+',1,1) AS CODE1 부분을 살펴보면 아래와 같다. 2. SQL SELECT REGEXP_SUBSTR(CODE_PATH,'[^/]+',1,1) AS CODE1 FROM CODE; //결과 : 21 SELECT REGEXP_SUBSTR(CODE_PATH,'[^/]+',1,2) AS CODE2 FROM CODE; //결과 : 49 SELECT REGEXP_SUBSTR(CODE_PATH,'[^/]+',1,3) AS CODE2 FROM CODE; //결과 : 55 2021. 11. 29.
ORACLE, TIBERO 테이블 컬럼 사이즈 변경 ORACLE, TIBERO 테이블 컬럼 사이즈 변경 컬럼 사이즈를 기존보다 늘리는것은 괜찮지만, 줄이는건 데이터를 먼저 확인해야 한다. ALTER TABLE 테이블명 MODIFY(컬럼명 VARCHAR(300)); ALTER TABLE 테이블명 MODIFY(컬럼명 NUMBER); ALTER TABLE 테이블명 MODIFY(컬럼명 NUMBER(5, 2)); ALTER TABLE 테이블명 MODIFY(컬럼명 DATE); 2021. 11. 25.
컬럼(columns)이 있는 테이블(table) 찾기 컬럼명이 있는 테이블 찾기 1. 컬럼명 검색 ex) CTNT SELECT TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME='컬럼명'; 2. 컬럼명 LIKE 검색 ex) %CTNT% SELECT TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME LIKE '%컬럼명%'; 2021. 11. 24.
ORACLE SEQ FUNCTION ORACLE SEQ FUNCTION SELECT INSERT 할때는 NEXTVAL이 동일하게 들어 가는 경우가 있다. 부하가 적은 경우 함수로도 처리가 가능하다. 다양하게 활용가능해 보인다. 1. 시퀀스 생성 CREATE SEQUENCE ITEM_SEQ -- 시퀀스이름 START WITH 452503 -- 시작번호 INCREMENT BY 1 -- 증가번호 MAXVALUE 999999999999999 -- 최대번호 MINVALUE 0 -- 최소번호 NOCYCLE CACHE 20 NOORDER; 2. 시퀀스 함수 생성 -- 시퀀스 함수 CREATE OR REPLACE FUNCTION GET_ITEM_SEQ RETURN NUMBER AS NUM NUMBER; BEGIN SELECT ITEM_SEQ.NEXTVA.. 2021. 11. 17.
SQL mybatis if equals 숫자, 문자, 문자열 빈값 NULL 구문 체크 SQL mybatis equals 숫자 문자 문자열 빈값 NULL 구문 체크 문자 숫자 WHERE 1=1 빈값, NULL 체크 WHERE 1 = 1 문자열 비교 WHERE 1=1 2021. 10. 21.
[SQL] ROW_NUMBER 기준 넘버링 ROW_NUMBER 기준 넘버링 데이터 중복값 중에 순서대로 넘버링 하여 사용 할 때가 있다. 아래 쿼리를 활용하여 사용할 수 있다. SELECT TT.* FROM( // PARTITION BY 기준값 (유저번호 기준으로) // ORDER BY 정렬 (아래 쿼리 기준 시작일이 최신) SELECT ROW_NUMBER() OVER(PARTITION BY USER_NO ORDER BY ST_DT DESC) RNK, USER_NO, // 유저번호 USER_NM, // 유저명 ST_DT // 시작일 FROM USER ) WHERE RNK = 1; // 시작일자가 제일 빠른 1번만 2021. 5. 26.
SQL QUERY 개행문자 및 스크립트 제거 SQL QUERY 개행문자 및 스크립트 제거 1. 개행문자 제거 REPLACE(REPLACE(컬럼1, CHR(10), ''), CHR(13), '') AS 컬럼1 EX DATA ) : 안녕하세요 저는 개발자 입니다. -> 안녕하세요. 저는 개발자 입니다. 2. 스크립트 제거 REGEXP_REPLACE(컬럼1, , '') AS 컬럼1, EX DATA ) : 안녕하세요 -> 안녕하세요 2020. 10. 30.
SELECT KEY 셀렉트키 MYBATIS MAX+1 > JAVA, SPRING 기반의 MYBATIS 에 흔히 사용되는 SELECT KEY 구문이다. 아래를 참고하여 사용 할 수 있다. 1. SQL SELECT NVL( MAX( TO_NUMBER( TRIM(NO) ) ), 0 ) + 1 FROM /*테이블명 A*/ INSERT INTO /*테이블명 A*/ ( NO, NAME, ) VALUES ( #{no}, /* 해당 필드는 위에서 셀렉트 해온 no가 들어감. */ #{name} ) 2. Insert, Update 와 Delete 엘리먼트 속성 useGeneratedKeys (입력(insert, update)에만 적용) 데이터베이스에서 내부적으로 생성한 키 (예를들어 MySQL또는 SQL Server와 같은 RDBMS의 자동 증가 필드)를 받는 JDBC g.. 2020. 10. 28.
시퀀스, 순번(MAX+1)을 함수로 사용하는 방법 SELECT INSERT 할 경우나 서브쿼리문의 시퀀스 사용시 불가능 할때가 있습니다. 이럴때는 함수를 사용 하시면은 원하시는 순번 등록을 할 수 있습니다. 두 가지를 잘 활용해서 개발할때 도움 되셨스면 합니다. 1. 함수를 이용하는 시퀀스 순번 1-1 시퀀스 생성 CREATE SEQUENCE /*시퀀스명*/ INCREMENT BY 1 START WITH 0 MINVALUE 0 MAXVALUE 999999999999 NOCYCLE NOORDER; 1-2 함수생성 CREATE OR REPLACE FUNCTION /* 함수명 */ RETURN NUMBER AS num NUMBER; BEGIN SELECT /*시퀀스명*/.NEXTVAL INTO num FROM DUAL; .. 2020. 10. 27.
반응형