Utilizzando la corretta o preferibile, non uguale operatore MySQL
-
20-09-2019 - |
Domanda
Quale dei due modi (semanticamente equivalenti) è preferibile per verificare la disuguaglianza?
-
'foo' != 'bar'
(punto esclamativo e segno uguale) -
'foo' <> 'bar'
(meno e maggiore di simboli chevron insieme)
La documentazione di MySQL indica chiaramente che non v'è alcuna differenza tra loro e tuttavia alcune persone sembrano essere collegato solo a farlo in un modo o l'altro. Forse questo è solo un altro inutile vi vs dibattito emacs, ma quando le altre persone stanno leggendo il codice (e quindi le vostre domande), è utile per mantenere una certa coerenza.
<>
assomiglia molto <=>
che è un operatore molto sottoutilizzata ma potrebbe forse creare confusione ad un'osservazione poiché i due sono quasi opposto (ad eccezione dei casi NULL
ovvi).
Soluzione
<> dovrebbe essere preferito, a parità, poiché si accorda con lo standard SQL e tecnicamente più portabile ...
! = Non è standard, ma la maggior parte db attuarlo.
sql: grammatica 2008:
<not equals operator> ::=
<>
Altri suggerimenti
E 'ovvio.
L'! personaggio si trova all'angolo nord-ovest di tastiere USA.
sede Microsoft sono nell'angolo nord-ovest degli Stati Uniti.
. <>
è un cenno del capo a Microsoft.
!=
è un rifiuto di Microsoft.
E 'un codice segreto politico.
<> è l'unico in standard SQL-92.
DBA in genere piace <> e programmatori, come! =. Solo un'osservazione: -)
Sono gli stessi, è puramente preferenza .
Questo dovrebbe darvi una buona idea
! = (Diverso da) Diverso da (Non SQL-92 standard)
<> (diverso da) Diverso da
L'operatore <>
è quello che è nello standard SQL, quindi la maggior parte delle persone che conoscono SQL saranno abituati ad esso, o almeno a conoscenza di esso. Io stesso non ero nemmeno a conoscenza che l'operatore !=
era disponibile in alcuni dialetti SQL anche fino a poco tempo.
Come avrete notato, le persone tendono ad utilizzare solo uno o l'altro, e questo è un buon approccio, almeno su una base di progetto per progetto. Quale scegliete di utilizzare, essere coerenti.