MySQL에서 동등한 연산자가 아닌 올바른 또는 선호하는 동등한 연산자 사용
-
20-09-2019 - |
문제
두 가지 (의미 적으로 동등한) 방법 중 어느 것이 불평등을 테스트하는 것이 바람직합니까?
'foo' != 'bar'
(느낌표 및 동등한 부호)'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 방언으로도 사용할 수있었습니다.
알다시피, 사람들은 하나 또는 다른 하나만 사용하는 경향이 있으며, 이는 적어도 프로젝트별로 좋은 접근 방식입니다. 어느 쪽을 사용하든 일관성을 유지하십시오.