Pergunta

Quais das duas maneiras (semanticamente equivalentes) são preferíveis para testar a desigualdade?

  1. 'foo' != 'bar' (Marcos de exclamação e é igual a sinal)
  2. 'foo' <> 'bar' (menor e maior que os símbolos da Chevron juntos)

A documentação do MySQL indica claramente que não há diferença entre eles e, no entanto, algumas pessoas parecem estar ligadas apenas a fazê -lo de uma maneira ou de outra. Talvez este seja apenas mais um debate inacessível VI vs. EMACS, mas quando outras pessoas estão lendo seu código (e, portanto, suas consultas), é útil manter alguma consistência.

<> parece muito parecido <=> que é um operador muito subutilizado, mas talvez possa levar à confusão rapidamente, já que os dois são quase opostos (exceto o óbvio NULL casos).

Foi útil?

Solução

<> deve ser preferido, sendo todas as coisas iguais, pois está de acordo com o padrão SQL e é tecnicamente mais portátil ...

! = Não é padrão, mas a maioria dos DB o implementa.

SQL: 2008 Gramática:

<not equals operator> ::=
  <>

Outras dicas

É obvio.

O ! O personagem está no canto noroeste dos teclados dos EUA.

A sede da Microsoft está no canto noroeste dos EUA.

Então. <> é um aceno para a Microsoft.

!= é uma rejeição da Microsoft.

É um código político secreto.

<> é o único no padrão SQL-92.

DBA geralmente é como <> e programadores como! =. Apenas uma observação :-)

Eles são os mesmos, é puramente preferência.

Isso deve lhe dar uma boa ideia

Operadores

! = (Não é igual a) não é igual a (não padrão SQL-92)

<> (Não igual a) não igual a

o <> O operador é o que está no padrão SQL; portanto, a maioria das pessoas que sabe que o SQL estará acostumada a ele, ou pelo menos ciente disso. Eu mesmo não estava ciente de que o != O operador também estava disponível em alguns dialetos SQL até recentemente.

Como você notou, as pessoas tendem a usar apenas uma ou outra, e essa é uma boa abordagem, pelo menos em uma base de projeto por projeto. Qualquer que você opte por usar, seja consistente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top