본문 바로가기

전체 글123

[Oracle] 특정 철자를 N개 만큼 채우기 (LPAD, RPAD) 특정 철자를 N개 만큼 채우기 (LPAD, RPAD) : 문자 출력 시 특정 철자를 N개 만큼 채워 출력 - LPAD : 왼쪽을 채움 - RPAD : 오른쪽을 채움 -- LPAD : 10자리를 출력하되 남은 왼족 자리에 '*'을 채워 출력 -- RPAD : 10자리를 출력하되 남은 오른쪽 자리에 '*'을 채워 출력 SELECT column1, LPAD(column2, 10, '*') as nickname1, RPAD(column2, 10, '*') as nickname2 FROM tablename; - 시각화 -- salary 시각화 SELECT column1, salary, lpad('■', round(salary/100), '■') as chart FROM tablename; * round(salar.. 2020. 8. 21.
[Oracle] 특정 철자를 다른 철자로 변경 (REPLACE) 특정 철자를 다른 철자로 변경 (REPLACE) - 한 개의 철자 변경 -- 숫자 0을 '*'로 출력 SELECT column1, REPLACE(column2, 0, '*') FROM tablename; - 두개 이상의 철자 변경 -- 숫자 0-3을 '*'로 출력 : 컬럼명은 nickname으로 SELECT column1, REGEXP_REPLACE(column2, '[0-3]', '*') as nickname FROM tablename; * REGEXP_REPLACE 함수 : 정규식(Regular Expression) - 위치와 개수에 따른 철자 변경 -- 두 번째 자리 한 글자 '*'로 출력 SELECT REPLACE(column1, SUBSTR(column1, 2, 1), '*') as nickna.. 2020. 8. 21.
[Oracle] 문자에서 특정 철자 위치 출력 (INSTR) 문자에서 특정 철자 위치 출력 (INSTR) -- 'KOREA'에서 'R' 위치 찾기 SELECT INSTR('KOREA', 'R') FROM dual; - SUBSTR, INSTR, RTRIM 활용 -- abc@google.com 에서 google.com 만 출력 SELECT INSTR('abc@google.com', '@') FROM dual; -- 결과:4 SELECT SUBSTR('abc@google.com', INSTR('abc@google.com', '@')+1) FROM dual; -- 'google.com'에서 'google'만 출력 SELECT RTRIM( SUBSTR('abc@google.com', INSTR('abc@google.com','@') +1), '.com') 2020. 8. 21.
[Oracle] 문자열 길이 추출 (LENGTH) 문자열의 길이 추출(LENGTH) -개수 -- column1의 글자수 출력 : column1, LENGTH(column1) 두개의 열 출력 SELECT column1, LENGTH(column1) FROM dual; - 바이트의 길이 반환 : 한글은 한글자에 3byte SELECT LENGTHB('한국코리아') FROM dual; 2020. 8. 21.
[Oracle] 문자에서 특정 철자 추출 (SUBSTR) 문자에서 특정 철자 추출 (SUBSTR) : 문자에서 지정된 길이의 문자열 추출 --KOREA의 KO 추출 SELECT SUBSTR('KOREA', 1,2) FROM dual; -SELECT SUBSTR('대상문자', 시작철자순서, 추출철자갯수) : 시작 ~ 갯수 -SELECT SUBSTR('대상문자', 시작철자순서) : 시작 ~ 끝 2020. 8. 21.
[Oracle] 대소문자 변환 함수 (UPPER, LOWER, INITCAP) 대소문자 변환 함수 (UPPER, LOWER, INITCAP) : 대·소문자 변환 출력, 데이터가 대문자인지 소문자인지 확실하지 않을 때 - UPPER : 대문자 - LOWER : 소문자 - INITCAP : 첫글자 대문자 SELECT UPPER(column1), LOWER(column1), INITCAP(column1) FROM tablename; 함수 단일행 함수 설명 다중 행 함수 설명 정의 하나의 행 입력 후 하나의 행 반환 정의 여러 행 입력 후 하나의 행 반환 종류 문자, 숫자, 날짜, 변환, 일반 종류 그룹 단일행 문자 함수 : UPPER, LOWER, INICAP, SUBSTR, LENGTH, CONCAT, INSTR, TRIM, LPAD, RPAD 등 - LOWER 사용 예시 --찾고자 .. 2020. 8. 20.
[Oracle] 논리 연산자 (AND, OR, NOT) 논리 연산자 (AND, OR, NOT) : WHERE절에 여러 조건을 사용할 때 --AND SELECT column1, column2, column3 FROM tablename WHERE column3='한국' AND column2 = 4000; --OR SELECT column1, column2, column3 FROM tablename WHERE column3='한국' OR column2 = 4000; --NOT SELECT column1, column2, column3 FROM tablename WHERE NOT column3='한국' AND column2 = 4000; - AND : 모두 TRUE 일 때 - OR : 하나라도 TRUE 일 때 - NOT : FALSE 일 때 2020. 8. 19.
[Oracle] 비교연산자 (IN) 비교연산자 (IN) : 여러 개의 리스트 값을 검색 - 이퀄연산자(=)는 하나만 조회 가능하지만 IN연산자는 여러 값 조회 가능 --column2가 한국, 미국, 독일인 경우를 검색 SELECT column1, column2, column3 FROM tablename WHERE column2 in ('한국', '미국', '독일'); --위와 같음 - 이퀄연산자 사용 SELECT column1, column2, column3 FROM tablename WHERE (column2='한국' or column2='미국' or column2='독일'); - 포함하지 않은 경우 --column2가 한국, 미국, 독일이 아닌 경우를 검색 SELECT column1, column2, column3 FROM tablen.. 2020. 8. 19.
[Oracle] 비교연산자 (IS NULL) 비교연산자 (IS NULL) : NULL 값 검색 SELECT column1, column2 FROM tablename WHERE column2 is null; * NULL : 데이터가 할당되지 않음, 알 수 없는 값, 이퀄연산자(=)로 비교할 수 없음 2020. 8. 19.