8. 산술 연산자#
이 장에서는 SQL 문에 사용되는 산술 연산자들에 대해서 자세히 설명한다.
산술 연산자#
산술 연산자는 숫자 값에 대해 부호를 붙이거나, 더하기, 빼기, 곱하기, 및 나누기를 하는데 사용되는 연산자이다. 이런 연자자들 중 일부는 날짜 데이터에 대한 계산을 수행하는데 사용될수도 있다. 산술 연산자는 숫자 데이터 타입 또는 내부적으로 숫자형으로 변환이 가능한 데이터 타입에 대해서 수행될 수 있다.
산술 연산자의 종류#
다음은 Altibase에서 지원하는 산술 연산자의 종류와 이에 대한 간단한 설명이다.
산술 연산자 | 설명 |
---|---|
단항 연산자(+) | 명시적으로 양수를 나타낸다 |
단항 연산자(-) | 입력 수의 부호를 반전시킨다 |
이항 연산자(사칙) | 두 입력 수에 대해 계산한다 |
연결 연산자 | 두 문자열을 합친다 |
단항 연산자#
양수 부호#
구문#
+ number
설명#
이 연산자는 입력된 number를 명시적으로 양수로 표시한다.
음수 부호#
구문#
- number
설명#
이 연산자는 입력한 number의 부호를 반전시킨다.
이항 연산자#
더하기#
구문#
number1 + number2
설명#
이 연산자는 number1 와 number2 를 더한 결과를 돌려준다.
빼기#
구문#
number1 - number2
설명#
이 연산자는 number1에서 number2를 뺀 결과를 돌려준다.
곱하기#
구문#
number1 x number2
설명#
이 연산자는 number1과 number1를 곱한 결과를 돌려준다.
나누기#
구문#
number1 / number2
설명#
이 연산자는 number1를 number2로 나눈 결과를 돌려준다.
날짜 타입의 데이터에 산술 연산 수행#
구문#
DATE 타입의 값에 수를 더하거나 뺄 때, 그 수는 일 단위로 해석된다. 그러므로, DATE 타입 값에 시, 분, 또는 초를 더하거나 빼려면 더하거나 빼고자 하는 시, 분, 초의 숫자를 아래와 같이 일로 변환해서 입력해야 한다.
date [ + | - ] n
date – date
date [ + | - ] days (더하기/빼기 n일: n)
date [ + | - ] hours (더하기/빼기 n시간: n/24)
date [ + | - ] minutes (더하기/빼기 n분: n/(24*60) )
date [ + | - ] seconds (더하기/빼기 n초: n/(24*60*60))
주의
DATE 타입 값에 대한 곱하기 또는 나누기 연산은 불가능하다.
예제#
<질의> 부서 4001에 속한 모든 사원의 이름 및 근무한 주 수를 출력하라.
SELECT e_firstname
, e_lastname
, (SYSDATE-join_date)/7 weeks_worked
FROM employees
WHERE dno = 4001;
E_FIRSTNAME E_LASTNAME WEEKS_WORKED
-----------------------------------------------------------------------
Xiong Wang 115.778199044248
Curtis Diaz 87.6353419013905
John Huxley 224.492484758533
3 rows selected
<질의> 현재 시간에서 10분 후의 시간을 출력하라.
SELECT SYSDATE + (10/(24*60)) '10 MINUTES LATER'
FROM DUAL;
10 MINUTES LATER
-----------------------
2005/01/20 09:59:34
1 row selected.
연결 연산자#
구문#
char1 || char2
설명#
이 연산자는 두개의 문자열 char1과 char2를 합친다.
예제#
<질의> 사원 이름과 직책사이에 ' is a '를 삽입하여 하나의 칼럼으로 출력하라.
SELECT RTRIM(e_firstname) || ' ' || RTRIM(e_lastname) || ' is a ' || emp_job || '.' job_description
FROM employees;
JOB_DESCRIPTION
-------------------------------------------------------------------
.
.
.
Aaron Foster is a PL.
Farhad Ghorbani is a PL.
Ryu Momoi is a programmer.
Gottlieb Fleischer is a manager.
.
.
.
20 rows selected.
CAST 연산자#
구문#
CAST (expr AS data_type)
설명#
이 연산자는 expr을 명시적으로 주어진 data_type의 값으로 변환한다. (BLOB과 CLOB 타입을 제외한 모든 타입이 지원된다.)
예제#
<질의> 문자열을 DOUBLE타입의 값으로 변환하라.
SELECT CAST('3.14159265359' AS DOUBLE) pi
FROM DUAL;
PI
-------------------------
3.14159265359
1 row selected.