2011-11-03 4 views
6

동일한 작업을 수행하는 두 개의 다른 논리 연산자 (< = &!)가있는 이유는 무엇입니까? 다른 것보다?"보다 작거나 같음"& "보다 크지 않음"의 SQL 사용

+0

개인적으로, 어디서나 어떤 언어로든 사용 된'!>'을 개인적으로 보지 못했습니다. 그 구문이 어딘가에 유효합니까? –

+0

아니요. RDBMS에 둘 다 있으면 동등합니다. –

+0

http://msdn.microsoft.com/en-us/library/aa276867(v=SQL.80).aspx – harryovers

답변

7

< = 및>는 논리 연산자가 아닌 비교 연산자입니다. ! 논리 연산자 (NOT)를 의미합니다. 결합하면! 및>를 사용하면 비교 연산자를 반전하므로 최종 결과가 동일합니다.

그런 말을하는 데, < =은 일반적인 형식이므로 다른 것만 있으면 가독성을 위해 선호한다고 말할 수 있습니다. 나는 어느 쪽이든에 성과 이득이 있는지 모른다, 그러나 나는 그것을 의심한다.

편집 : 또한 처리 할 SQL의 맛을 말하지 않았습니다. @harryovers가 지적했듯이, 그것은 MS-SQL에서 유효한 연산자이지만 어디에나 작동하지 않을 수도 있습니다.

+0

참조 : http://beginner-sql-tutorial.com/sql-operators.htm – ddrace

0

당신은 당신이 !=<>가 동일 참조하는 경우!> 나는

<>을 본 적이 논리 연산자 논리는 내가 본 적이 ANDOR라고합니다.

+0

http://msdn.microsoft.com/en-us/library/aa276867(v=SQL.80).aspx – harryovers

+0

절대로 사용하지 마십시오 ... 이상하게도 작동한다는 것을 결코 알지 못했습니다. 아직도 그것이 작동하는 방법을 변경하지 않습니다, 내가 생각하기에 고양이를 껍질을 벗기는 다른 방법. – JonH

4

내가 왜 다른 것을 사용할지 알 수 없지만 !>은 ISO 표준에 포함되어 있지 않으며 그걸 바탕으로 <=이 선호됩니다.

1

아니요, 차이는 없습니다. 내가 생각할 수있는 유일한 이유는 그것을 특정 상황에서 사람이 읽을 수있게 만드는 것입니다.

예. 같은 이유로 문맥 상 약간의 제한을 나타내는 에 의미가있는 경우 <= 4 대신 < 5을 사용합니다.

1

!=, !<!> 표준 비교 연산자되지 않습니다 만 몇 가지 시스템에 의해 지원되는, SQL-Server는 하나되는 : msdn: Comparison Operators (Transact-SQL)합니다. MySQL은 !=도 지원하지만 다른 두 가지는 지원하지 않습니다.

표준 SQL 비교 연산자는 <>, >=<=입니다.

모든 경우에 나는 표준을 선호합니다. 코드를 다른 플랫폼으로 마이그레이션해야 할 때를 알지 못합니다 (처리 할 오류가 적음).

4

!> 다른 방법으로 SQL을 XML에 넣을 수있는 한 가지 이유가 있습니다. 보다 작음 부호는 XML 태그를 도입합니다. <이있는 SQL이 XML 또는 HTML에 포함되어 있으면 & LT;로 이스케이프 처리해야합니다. 더 큼 기호는 그 앞에 작은 기호가 붙지 않는 한 특별한 것을 의미하지 않습니다.