SQL - 문제 미리보기

문제 1714

medium
다음 Oracle 쿼리와 동일한 기능을 하는 SQL Server 쿼리는?

Oracle:
```sql
SELECT ProductName, NVL(UnitsOnOrder, 0) AS SafeUnits
FROM Products;
```
A. `SELECT ProductName, IFNULL(UnitsOnOrder, 0) AS SafeUnits FROM Products;`
B. `SELECT ProductName, ISNULL(UnitsOnOrder, 0) AS SafeUnits FROM Products;`
C. `SELECT ProductName, NULLIF(UnitsOnOrder, 0) AS SafeUnits FROM Products;`
D. `SELECT ProductName, COALESCE(0, UnitsOnOrder) AS SafeUnits FROM Products;`

정답: B

각 선택지 검토:

1번 - IFNULL:

• MySQL 전용 함수
• SQL Server에서는 지원하지 않음

2번 - ISNULL (정답):

• SQL Server 전용 함수
• Oracle NVL()과 정확히 동일한 기능

3번 - NULLIF:

• 반대 기능을 하는 함수
• 두 값이 같으면 NULL 반환 (완전히 다른 목적)

4번 - COALESCE:

• 표준 함수이므로 작동하지만 매개변수 순서가 잘못됨
• `COALESCE(UnitsOnOrder, 0)`이 올바름

💡 학습 팁

이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.