강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
관계 연산자
조회 : 5,841  


관계 연산자
관계 연산자는 두 수식의 값을 비교하여 참 또는 거짓을 반환한다. 비교는 수식의 두 인자의 순서에 기반하여 이루어지며, 항상 첫 번째 수식이 두 번째 수식에 비교된다. 관계 연산의 비교 인자들은 같은 데이터 타입이거나 시스템에 의해서 공통의 데이터 타입으로 묵시적으로 변환될 수 있어야 한다. 그렇지 못하면 명시적으로 타입을 변환해주어야 한다.
1) 구문
value_expression  relational_operator  value_expression

value_expression :
bit string
character string
numeric value
date-time value
collection value 
NULL

relational_operator :
=    (같다)
>    (크다)
<    (작다)
<>   (다르다)
<=   (작거나 같다)
>=   (크거나 같다)
value_expression : 비교할 수식을 선언한다.
o  bit string : 비트열에 대하여 부울린 연산을 수행할 수 있으며, 모든 관계 연산자를 비트열을 비교하는데 사용할 수 있다. 길이가 같지 않은 두 수식을 비교할 때는 길이가 짧은 비트열의 오른쪽 끝에 0이 추가된다.
o  character string : 관계 연산자를 통해 비교할 두 문자열은 같은 문자 코드 세트를 가져야 한다. 문자 코드와 연관된 정렬 체계(collation)에 의해 비교 순서가 결정된다. 서로 다른 길이의 문자열을 비교할 때는, 비교 전에 길이가 긴 문자열의 길이와 같아지도록 길이가 짧은 문자열 뒤에 공백을 추가한다.
o  numeric value : 모든 숫자 값을 관계 연산자를 이용하여 비교할 수 있으며, 모든 수치형 타입을 부울린 비교에 사용할 수 있다. 서로 다른 수치형 타입을 비교할 때에는 시스템이 묵시적으로 타입을 변환한다. 예를 들어, INTEGER 값을 DECIMAL 값과 비교할 때 시스템은 먼저 INTEGERDECIMAL로 변환한 후 비교한다. FLOAT에 대해서 비교할 때에는 FLOAT는 시스템 종속적으로 처리되므로 정확한 값이 아니라 범위를 지정해야 한다.
o  date-time value : 날짜-시간 값을 같은 타입 간에 비교할 때에 값의 순서는 연대기 순으로 결정된다. 즉, 두 개의 날짜와 시간 값을 비교할 때, 이전 날짜가 나중 날짜보다 작은 것으로 간주된다. 서로 다른 타입의 날짜-시간 값은 관계 연산자를 통해 비교할 수 없다.
o  collection value : 두 순차집합을 비교할 때에는 순차집합이 생성되었을 때 사용자가 명시한 순서대로 원소 간의 비교가 이루어진다. 집합과 다중집합을 포함하는 비교는 적절한 집합 연산자로 오버로딩 된다. 집합, 다중집합, 리스트 또는 순차집합에 대한 비교 연산을 이 장의 뒷부분에서 설명하는 포함 연산자를 이용하여 수행할 수 있다. 자세한 정보는 "집합 연산자"를 참조한다.
o  NULL : NULL 값은 모든 데이터 타입의 값 범위 내에 포함되지 않는다. 따라서, NULL 값의 비교는 주어진 값이 NULL 값인지 아닌지에 대한 비교만 가능하다. NULL 값이 다른 데이터 타입으로 할당될 때 묵시적인 타입 변경은 일어나지 않는다. 예를 들어, INTEGER 타입의 속성이 NULL 값을 가지고 있고 부동 소수점 타입과 비교할 때, 비교하기 전에 NULL 값을 FLOAT 형으로 변환하지 않는다. NULL 값에 대한 관계 연산은 결과를 반환하지 않는다.
relational_operator : 관계 연산자를 이용하여 두 수식의 값을 비교한다.

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1620


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
큐브리드