내가 본 SQL
용도가 모두 있다는 !=
및 <>
위해 동일하지 . 선호하는 구문은 무엇이며 왜 그렇습니까?
내가 생각 !=
나기 때문에 좋아한다 .<>
Visual Basic
답변
SQL Server AKA T-SQL을 사용하는 경우 기술적으로 동일하게 작동합니다. 저장 프로 시저에서 사용하는 경우 다른 것을 사용하는 성능상의 이유가 없습니다. 그런 다음 개인 취향으로 내려갑니다. ANSI 호환이기 때문에 <>를 사용하는 것을 선호합니다.
다양한 ANSI 표준에 대한 링크를 찾을 수 있습니다 …
답변
대부분의 데이터베이스는 !=
(인기 프로그래밍 언어) 및 <>
(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 표준 연산자를 지원하는 데이터베이스 :
답변
'<>'
로부터 인 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]
. 이것이 올바른 방법은 나에게 말한다 <>
.