비교 연산자(데이터베이스 엔진)
비교 연산자는 문자, 숫자 또는 날짜 데이터와 함께 쿼리의 WHERE 절이나 HAVING 절에서 사용됩니다. 비교 연산자는 부울 데이터 형식으로 평가한 조건의 결과에 따라 TRUE 또는 FALSE를 반환합니다.
예를 들어 1998년 3월 15일 이전에 입사한 직원의 보너스를 계산하려면 먼저 직원의 hire_date가 1998년 3월 15일과 같거나 작은지를 계산하여 보너스를 받을 직원의 목록을 구해야 합니다.
유효한 비교 연산자는 다음과 같습니다.
> (보다 큼)
< (보다 작음)
= (같음)
<= (작거나 같음)
>= (크거나 같음)
!= (같지 않음)
<> (같지 않음)
!< (보다 작지 않음)
!> (보다 크지 않음)
또한 비교 연산자는 프로그램 논리에서 조건을 확인할 때도 사용됩니다. 예를 들어 country/region 값이 Spain이 아니라 UK라면 선적 비용을 다르게 적용할 수 있습니다. 이런 경우 비교 연산자, 식(열 이름), 리터럴('UK') 및 흐름 제어 프로그래밍 키워드(IF)의 조합이 함께 사용됩니다.
쿼리에 필요한 실제 데이터를 액세스할 수 있는 사용자는 추가 쿼리에서 비교 연산자를 사용할 수 있습니다. 데이터 수정 문의 경우 비교 연산자는 사용자가 적절한 권한을 가지며 제한된 사용자 그룹만 데이터를 변경하는 경우에만 사용해야 합니다. 이것은 데이터 무결성을 유지하기 위한 방법입니다.
쿼리는 또한 문자열 비교를 사용하여 로컬 변수, 커서 또는 열의 값을 상수와 비교합니다. 예를 들어 country/region이 UK면 모든 고객 행을 출력해야 합니다. 다음 표에서는 유니코드 데이터와 비유니코드 데이터 간의 문자열 비교 예를 보여 줍니다. ST1은 char이고 ST2는 nchar입니다.
비교 |
설명 |
---|---|
ST1 = ST2 |
CONVERT(nchar, ST1) = ST2 또는 CAST(ST1 as nchar) = ST2와 같습니다. |
ST1 = '비유니코드 문자열' |
일반적인 ISO 문자열 비교입니다. |
ST2 = '비유니코드 문자열' |
ST2 = CONVERT(nchar, '비유니코드 문자열') 또는 ST2 = CAST('비유니코드 문자열' AS nchar)와 같습니다. |
ST2 = N'유니코드 문자열' |
유니코드 비교입니다. |
CONVERT(nchar, ST1) = ST2 또는 CAST(ST1 AS nchar) = ST2 |
유니코드 비교입니다. |
ST1 = CONVERT(char, ST2) 또는 ST1 = CAST(ST2 AS char) |
일반적인 ISO 문자열 비교입니다. |
N'' (괄호 안의 유니코드 빈 문자열) |
빈 문자열입니다. |
'' (비유니코드 빈 문자열) |
빈 문자열이거나 하나의 공백 문자가 포함된 문자열입니다(ISO 설정에 따라 다름). |