sql >> Database teknologi >  >> RDS >> Mysql

Er der en grund til ikke at bruge <=> (null safe er lig med operator) i mysql i stedet for =?

Du bad om nogle eksempler fra den virkelige verden. Her er en falsk. Lad os sige, at du har en ungdomsuddannelse eller lignende, og et af kravene er, at børnene kun deler værelse med en af ​​samme køn. Du har et nullbart M/F-felt i din database - nullbart, fordi dit datafeed er ufuldstændigt (du jager stadig nogle af dataene). Din værelsesmatchende kode bør bestemt ikke matche elever, hvor t1.Køn<=>t2 .Køn, fordi det kan ende med at matche to børn af ukendt køn, som måske er af modsat køn. I stedet matcher du, hvor de er lige og ikke begge er nul.

Det er kun ét eksempel. Jeg indrømmer, at adfærden for NULL og = operatør har forårsaget en masse forvirring gennem årene, men i sidste ende ligger fejlen sandsynligvis i overfloden af ​​online MySQL tutorials, der ikke nævner hvordan NULL interagerer med operatører, ej heller om eksistensen af ​​<=> operatør.



  1. ikke i stand til at oprette forbindelse til mysql docker fra lokal

  2. ATN2() Eksempler i SQL Server

  3. Hvordan kan jeg bruge en enkelt mssql-forbindelsespulje på tværs af flere ruter i en Express 4-webapplikation?

  4. Forståelse af SQL Server Always Encrypted