MySQL에서 동등한 연산자가 아닌 올바른 또는 선호하는 동등한 연산자 사용

StackOverflow https://stackoverflow.com/questions/2066987

문제

두 가지 (의미 적으로 동등한) 방법 중 어느 것이 불평등을 테스트하는 것이 바람직합니까?

  1. 'foo' != 'bar' (느낌표 및 동등한 부호)
  2. 'foo' <> 'bar' (Chevron 기호보다 작고) 함께)

MySQL 문서는 그들 사이에 차이가 없다는 것을 분명히 나타내지 만 어떤 사람들은 어떤 식 으로든 그것을하는 것만으로도 첨부 된 것 같습니다. 어쩌면 이것은 또 다른 무의미한 VI vs. EMACS 토론 일지 모르지만 다른 사람들이 코드를 읽고 쿼리를 읽을 때 일관성을 유지하는 것이 유용합니다.

<> 많이 비슷해 보입니다 <=> 매우 저술 된 연산자이지만 두 사람이 거의 반대이기 때문에 빠르게 한 눈에 혼란을 야기 할 수 있습니다 (명백한 제외. NULL 케이스).

도움이 되었습니까?

해결책

<>은 SQL 표준과 일치하고 기술적으로 더 휴대하기 때문에 모든 것이 동일해야합니다 ...

! =는 비표준이지만 대부분의 DB는이를 구현합니다.

SQL : 2008 문법 :

<not equals operator> ::=
  <>

다른 팁

분명합니다.

! 캐릭터는 미국 키보드의 노스 웨스트 코너에 있습니다.

Microsoft 본사는 미국의 노스 웨스트 코너에 있습니다.

그래서. <> Microsoft의 끄덕임입니다.

!= Microsoft의 거부입니다.

비밀 정치 코드입니다.

<>은 SQL-92 표준에서 유일한 것입니다.

DBA는 일반적으로 <>과 같고 프로그래머는! =입니다. 그냥 관찰 :-)

그들은 동일하고 순전히 선호합니다.

이것은 당신에게 좋은 아이디어를 줄 것입니다

운영자

! = (동일하지 않음) (SQL-92 표준 아님)

<> (동일하지 않음)와 같지 않습니다.

그만큼 <> 연산자는 SQL 표준에있는 운영자이므로 SQL을 아는 대부분의 사람들은 그것에 익숙하거나 최소한 알고 있습니다. 나는 나 자신도 그것을 알지 못했다 != 운영자는 최근까지 일부 SQL 방언으로도 사용할 수있었습니다.

알다시피, 사람들은 하나 또는 다른 하나만 사용하는 경향이 있으며, 이는 적어도 프로젝트별로 좋은 접근 방식입니다. 어느 쪽을 사용하든 일관성을 유지하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top