SQL 통한 Database 관리

select nvl() from dual

JBS 12 2024. 8. 20. 19:07

`NVL` 함수는 최소 두 개의 인수를 필요로 합니다. 함수에 인수를 제공하지 않으면 오류가 발생합니다. 올바른 `NVL` 함수 사용법을 설명하겠습니다.

### 올바른 사용법

`NVL` 함수는 두 개의 인수를 받아야 합니다:

```sql
NVL(expression1, expression2)
```

- `expression1`: 검사할 표현식.
- `expression2`: `expression1`이 `NULL`일 때 반환할 값.

### 올바른 쿼리 예시

#### `NULL` 값을 대체하는 기본 예제

```sql
SELECT NVL(NULL, 'Default Value') AS result
FROM dual;
```

이 쿼리는 `NULL` 값을 `'Default Value'`로 대체하여 결과를 반환합니다.

#### 실제 데이터에서 `NULL` 처리

```sql
SELECT employee_id,
       NVL(bonus, 0) AS bonus
FROM employees;
```

이 쿼리는 `bonus` 열의 값이 `NULL`일 때 `0`으로 대체하여 반환합니다.

### `NVL` 함수의 예외 처리

`NVL` 함수에 인수가 없으면 다음과 같은 오류가 발생합니다:

```sql
SELECT NVL() AS result FROM dual;
```

이 쿼리는 오류를 발생시킵니다, 일반적으로 다음과 같은 오류 메시지가 표시됩니다:

```
ORA-00905: missing keyword
```

### 요약

- `NVL` 함수는 반드시 두 개의 인수를 가져야 하며, 첫 번째 인수가 `NULL`일 때 두 번째 인수를 반환합니다.
- 올바르게 사용하려면, `NVL` 함수에 두 개의 인수를 제공해야 합니다.

'SQL 통한 Database 관리' 카테고리의 다른 글

Nullif()  (0) 2024.08.20
결제 - 대사, 정산  (0) 2024.08.20
dual이 뭐니  (0) 2024.08.20
like연산자  (0) 2024.08.20
select count(*) CNT from EMP_TBL A, RULE_TBL B where A.Ename like B.Rule  (0) 2024.08.20