일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- kubernetes 동작 원리
- terraform
- Firelens
- LoadBalancer Controller
- 쿠버네티스 컴포넌트
- 그라파나 시각화
- 깃허브 액션
- Kubernets on Jenkins
- 솔데스크
- Kubernetes
- headless service
- 그라파나 대시보드
- EKS 클러스터
- 쿠버네티스
- Aurora cluster
- 딥레이서
- jenkins
- 메탈LB
- blue-green
- Solution Architecture
- 딥레이서 보상함수
- EFS CSI Driver
- AWS 딥레이서
- Prometheus install
- SAA 합격 후기
- grafana on kubernetes
- github action 사용법
- helm
- livenessPorbe
- 로드밸런서 컨트롤러
Archives
mingming
Oracle - 단일 행 함수 본문
단일 행 함수
- 데이터 항목을 조작한다.
- 인수를 사용하고 하나의 값을 반환한다.
- 반환되는 각 행에서 실행된다.
- 데이터 유형을 수정할 수 있다.
- 중첩될 수있다.
- 열이나 표현식을 인수로 사용할 수 있다.
function_name [arg1, arg2, ...]
문자 함수
함수 | 용도 |
LOWER | 영문자 값을 소문자로 변환한다. |
UPPER | 영문자 값을 대문자로 변환한다. |
INICAP | 영문자 값의 첫 번쨰 문자를 대문자로 변환하고 나머지는 소문자로 둡니다. |
CONCAT | 첫 번쨰 문자 값을 두 번쨰 문자 값과 연결합니다. 연결 연산자 (||) 와 같은 기능입니다. |
SUBSTR | m 위치에서 시작하는 문자 값에서 n개의 문자 길이만큼 지정된 문자를 반환합니다(m이 음수인 경우 문자 끝에서부터 카운트를 시작한다. n이 생략된 경우 문자열의 끝까지 모든 문자가 반환됩니다.) |
LENGTH | 표현식의 문자 수를 반환한다. |
INSTR | 지정된 문자열의 숫자 위치를 반환한다. 선택적으로검색 시작위치 m과 문자열의 발생 수 n을 제공할 수 있따. M과 n의 기본값은 1이며, 이 경우 문자열의 처음부터 검색을 시작하고 첫 번쨰로 찾은 결과를 보고한다. |
LPAD RPAD |
길이가 n이 되도록 왼쪽부터 문자식으로 채운 표현식을 반환한다. 길이가 n이 되도록 오른쪽부터 문자식으로 채운 표현식을 반환합니다. |
TRIM | 문자열에서 선행 또는 후행문자를 자를 수 있다. |
REPLACE | 텍스트 표현식에서 문자열을 검색하여 해당 문자열을 찾으면 지정된 대체 문자열로 바꿉니다. |
대소문자 변환 함수
함수 | 결과 |
LOWER('SQL Coure') | sql course |
UPPER('SQL Cours') | SQL COURSE |
INITCAP('SQL Course') | SQL course |
## 사원 Higgings의 사원 번호, 이름 및 부서 번호를 표시한다.
SELECT employee_id, last_name, department_id
FROM employees
WHERE last_name = 'higgins';
SELECT employee_id, last_name, department_id
FROM employees
WHERE LOWER(last_name) = 'higgins';
문자 조작 함수
함수 | 결과 |
CONCAT('Hello', 'World') | HelloWorld |
SUBSTR('HelloWorld',1,5) | Hello |
LENGTH('HelloWorld') | 10 |
INSTR('HelloWorld', 'W') | 6 |
- CONCAT : 값을 함께 조인한다(CONCAT에서 사용할 수 있는 파라미터는 두 개로 제한됨)
- SUBSTR : 지정된 길이의 문자열을 추출한다.
- LENGTH : 문자열 길이를 숫자 값으로 표시한다.
- INSTR : 명명된 문자의 숫자 위치를 찾는다.
SELECT CONCAT(CONCAT(last_name, '"s job category is '), job_id) "JOB"
FROM employees
WHERE SUBSTR(job_id,4) = 'REP'; ## 4째 문자부터 시작하는 스트링
SELECT last_name ||'''s job category is '|| job_id AS JOB
FROM employees
WHERE job_id LIKE '%REP%'
SELECT employee_id, CONCAT(first_name,last_name) NAME,
LENGTH(last_name) "Last_name length", INSTR(last_name,'a') "Contains 'a'?"
FROM employees
WHERE SUBSTR(last_name, -1, 1) = 'n'; ## SUBSTR(문자열, 시작위치, 길이)
SELECT employee_id, first_name || last_name AS NAME,
LENGTH(last_name) AS "Last_name length", INSTR(last_name, 'a') AS "Contains a ?"
FROM employees
WHERE last_name LIKE '%n';
함수 중첩
- 단일 행 함수는 어떠한 레벨로도 중첩될 수 있습니다.
- 중첩 함수는 가장 깊은 레벨에서 덜 깊은 레벨로 평가됩니다.
F3(F2(F1(col,arg1),arg2),arg3)
SELECT last_name, UPPER(CONCAT(SUBSTR(last_name, 1, 8), '_US'))
FROM employees
WHERE department_id = 60;
숫자 함수
- ROUND : 지정된 소수점 자릿수로 값을 반올림한다.
- TRUNC : 지정된 소수점 자릿수로 값을 truncate한다.
- CELL : 지정된 수 이상인 가장 작은 정수를 반환한다.
- FLOOR : 지정된 수 이하인 가장 큰 정수를 반환한다.
- MOD : 나눈 나머지를 반환한다.
함수 | 결과 |
ROUND(46.926, 2) | 45.93 |
TRUNC(45.926, 2) | 45.92 |
CELL(2.83) | 3 |
FLOOR(2.83) | 2 |
MOD(1600,300) | 100 |
ROUND 함수
SELECT ROUND(45.923,2), ROUND(45.923,0) , ROUND(45.923 -1)
FROM DUAL
## 45.92, 46, 45
TRUNC 함수
SELECT TRUNC(45.923), TRUNC(45.923), TRUNC(45.923, -1)
FROM DUAL;
## 45, 45, 40
MOD 함수
SELECT employee_id AS "Event Num", last_name
FROM employees
WHERE MOD(employee_id, 2) = 0
ORDER BY 1;
날짜 작업
- Oracle Database는 내부 숫자 형식(세기, 년, 월, 일, 시, 분, 초)으로 날짜를 저장한다.
- 기본 날짜 표시 형식은 DD-MON-RR 입니다.
- 연도의 마지막 두 자릿수만 지정하면 21세기 날짜를 20세기에 저장할 수 있다.
- 같은 방식으로 20세기 날짜를 21세기에 저장할 수 있다.
SELECT last_name, hire_date
FROM employees
WHERE hire_date < TO_DATE('2008-02-01', 'YYYY/MM/DD')
SYSDATE 함수
- SYSDATE 함수는 날짜와 시간을 반환합니다.
- SYSDATE는 시스템 날짜를 반환하는 날짜 함수이다.
- SYSDATE는 다른 열 이름을 사용하듯이 사용할 수 있다. 예를 들어, 테이블에서 SYSDATE를 선택하여 시스템 날짜를 표시할 수 있다.
SELECT SYSDATE
FROM DUAL;
CURRENT_DATE 및 CURRENT_TIMESTAMP 함수
- CURRENT_DATE 유저 세션의 현재 날짜를 반환합니다.
- CURRENT_DATE 는 현재 세션의 시간, SYSDATE는 현재 시스템의 시간을 반환합니다.
SELECT SESSIONTIMEZONE, CURRENT_DATE, SYSDATE, CURRENT_TIMESTAMP
FROM DUAL;
##Asia/Seoul 23/10/08 23/10/08 23/10/08 22:24:02.837954000 ASIA/SEOUL
날짜 연산
- 날짜에 숫자를 더하거나 빼서 결과 날짜 값을구합니다.
- 두 날짜 사이의 일 수를 알아내기 위해 빼기 연산을 합니다.
- 시간 수를 24로 나눠 날짜에 시간을 더합니다.
연산 | 결과 | 설명 |
날짜 + 숫자 | 날짜 | 날짜에 일 수를 더합니다. |
날짜 - 숫자 | 날짜 | 날짜에서 일 수를 뺍니다. |
날짜 - 날짜 | 일수 | 한 날짜를 다른 날짜에서 뺍니다. |
날짜 + 숫자/24 | 날짜 | 날짜에 시간 수를 더합니다. |
SELECT last_name, FLOOR((SYSDATE - hire_date)/7) AS WEEKS
FROM employees
WHERE department_id = 90;
날짜 조작 함수
함수 | 사용법 | 설명 |
MONTHS_BETWEEN | MONTHS_BETWEEN(date1, date2) | date1과 date2 사이의 개월 수를 찾는다. 결과는 양수나 음수가 될 수 있습니다. |
ADD_MONTHS | ADD_MONTHS(date, n) | date에 개월 수 n을 추가합니다. n 값은 정수여야 하며 음수가될 수 있습니다. |
NEXT_DAY | NEXT_DAY(date, 'char') | date 다음에 오는 지정된 요일 ('char')의 날짜를 찾습니다. char값은 요일을 나타내는 숫자나 문자열이 될 수 있습니다. |
LAST_DAY | LAST_DAY(date) | date를 포함하는 달의 말일 날짜를 찾습니다. |
ROUND | ROUND(date[, 'fmt']) | fmt 를 기준으로date를 반올림 합니다. fmt의 기본 값은 DD 입니다. |
TRUNC | TRUNC(date[, 'fmt']) | fmt 를 기준으로 date를 truncate 합니다. |
MONTHS_BETWEEN 함수
SELECT MONTHS_BETWEEN('2023/09/03', '2025/09/03')
FROM DUAL;
ADD_MONTHS 함수
SELECT ADD_MONTHS('2023/09/03', 3)
FROM DUAL;
NEXT_DAY 함수
SELECT NEXT_DAY(TO_DATE('23/09/03', 'RR/MM/DD'), '금요일')
FROM DUAL;
LAST_DAY 함수
SELECT LAST_DAY(TO_DATE('23/09/03', 'RR/MM/DD'))
FROM DUAL;
ROUND 함수
SELECT ROUND(SYSDATE, 'MONTH')
FROM DUAL;
TRUNC 함수
SELECT TRUNC(TO_DATE('23/09/03', 'RR/MM/DD'), 'MONTH')
FROM DUAl;
'새싹 하이브리드 클라우드 > Database' 카테고리의 다른 글
Oracle 데이터베이스 Use Case (1) | 2023.10.11 |
---|---|
Oracle - 변환 함수 (2) | 2023.10.09 |
Oracle - 집합연산자 (2) | 2023.10.08 |
Oracle - Subquery (0) | 2023.10.07 |
Oracle - DELETE & TRUNCATE (0) | 2023.10.07 |