[sql] T-SQL에서 같지 않기 위해! = 또는 <>를 사용해야합니까?

내가 본 SQL용도가 모두 있다는 !=<>위해 동일하지 . 선호하는 구문은 무엇이며 왜 그렇습니까?

내가 생각 !=나기 때문에 좋아한다 .<>Visual Basic



답변

SQL Server AKA T-SQL을 사용하는 경우 기술적으로 동일하게 작동합니다. 저장 프로 시저에서 사용하는 경우 다른 것을 사용하는 성능상의 이유가 없습니다. 그런 다음 개인 취향으로 내려갑니다. ANSI 호환이기 때문에 <>를 사용하는 것을 선호합니다.

다양한 ANSI 표준에 대한 링크를 찾을 수 있습니다 …

http://en.wikipedia.org/wiki/SQL


답변

대부분의 데이터베이스는 !=(인기 프로그래밍 언어) 및 <>(ANSI)를 지원합니다.

데이터베이스가 모두 지원 !=<>:

  • MySQL 5.1 : !=<>
  • PostgreSQL 8.3 : !=<>
  • SQLite : !=<>
  • Oracle 10g : !=<>
  • Microsoft SQL Server 2000/2005/2008/2012/2016 : !=<>
  • IBM Informix Dynamic Server 10 : !=<>
  • 인터베이스 / 파이어 버드 : !=<>
  • Apache Derby 10.6 : !=<>
  • Sybase Adaptive Server Enterprise 11.0 : !=<>

독점적으로 ANSI 표준 연산자를 지원하는 데이터베이스 :

  • IBM DB2 UDB 9.5 : <>
  • Microsoft Access 2010 : <>

답변

'<>'로부터 인 SQL-92 표준'!='A는 고유 T-SQL 연산자. 다른 데이터베이스에서도 사용할 수 있지만 표준이 아니기 때문에 사례별로 가져와야합니다.

대부분의 경우 어떤 데이터베이스에 연결하고 있는지 알기 때문에 이것이 실제로 문제가되지는 않습니다. 최악의 경우 SQL에서 검색하고 교체해야 할 수도 있습니다.


답변

ANSI SQL 표준은 <>“같지 않음”연산자로 정의합니다 .

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt ( 5.2 <token> and <separator>)

!=ANSI / SQL 92 표준에 따른 연산자 는 없습니다 .


답변

<> SQL-92 표준에 따른 유효한 SQL입니다.

http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx


답변

SQL Server 와 관련하여 유효하고 동일합니다 .

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/not-equal-to-transact-sql-exclamation


답변

마이크로 소프트 자신이 선호하는 것 같습니다 <>!=자신의 테이블 제약에서 입증. 개인적으로 사용 !=하는 것이 “같지 않음”으로 명확하게 읽었 기 때문에 사용하는 것을 선호 하지만 [field1 != field2], 다음에 쿼리 할 때이를 constrait로 입력 하고 저장하면 다음과 같이 표시됩니다 [field1 <> field2]. 이것이 올바른 방법은 나에게 말한다 <>.