산술 연산자
산술 연산자 (Arithmetic Operators)
CQL은 다음 연산자를 지원해요.
본문
| 연산자 | 설명 |
|---|---|
| - (단항) | 피연산자를 부정해요 |
| + | 덧셈 |
| - | 뺄셈 |
| * | 곱셈 |
| / | 나눗셈 |
| % | 나눗셈의 나머지를 반환해요 |
숫자 연산 (Number Arithmetic)
모든 산술 연산은 숫자 타입이나 카운터(counter)에서 지원돼요.
연산의 반환 타입은 피연산자의 타입에 따라 결정돼요:
| left/right | tinyint | smallint | int | bigint | counter | float | double | varint | decimal |
|---|---|---|---|---|---|---|---|---|---|
| tinyint | tinyint | smallint | int | bigint | bigint | float | double | varint | decimal |
| smallint | smallint | smallint | int | bigint | bigint | float | double | varint | decimal |
| int | int | int | int | bigint | bigint | float | double | varint | decimal |
| bigint | bigint | bigint | bigint | bigint | bigint | double | double | varint | decimal |
| counter | bigint | bigint | bigint | bigint | bigint | double | double | varint | decimal |
| float | float | float | float | double | double | float | double | decimal | decimal |
| double | double | double | double | double | double | double | double | decimal | decimal |
| varint | varint | varint | varint | decimal | decimal | decimal | decimal | decimal | decimal |
| decimal | decimal | decimal | decimal | decimal | decimal | decimal | decimal | decimal | decimal |
*, /, % 연산자는 +, - 연산자보다 우선순위가 높아요. 따라서 더 먼저 평가돼요. 표현식에서 두 연산자의 우선순위가 같다면, 표현식에서의 위치에 따라 왼쪽에서 오른쪽으로 평가돼요.
날짜/시간 연산 (Datetime Arithmetic)
duration은 timestamp나 date에 더하거나(+) 뺄 수 있어요. 예를 들어:
SELECT * FROM myTable WHERE t = '2017-01-01' - 2d;
이 쿼리는 t 값이 2016년 마지막 2일 안에 있는 모든 레코드를 선택해요.