Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

algo sobre ansi_nulls


Com ANSI_NULLS OFF , NULL = NULL avalia como TRUE .

Com ANSI_NULLS ON (o padrão), NULL = NULL avalia como NULL .

NULL IS NULL sempre avalia como TRUE .

No entanto, no MySQL, você não pode desativar ANSI_NULLS. Você provavelmente está pensando no MS SQL Server.

Versões futuras do MS SQL Server não suportarão ANSI_NULLS OFF , então eu não usaria.

Você deve deixar ANSI_NULLS ON e use IS NULL para avaliar se algo É NULL.

Se você está tendo problemas para lembrar como NULL funciona por padrão (ANSI_NULLS ON), você deve pensar em NULL como "unknown ". Por exemplo, se houver dois estranhos na sala, seus nomes serão NULL. Se sua pergunta for:"Seus nomes são iguais?"

Agora, digamos que Bob esteja na sala com apenas um estranho, cujo nome é NULL. Novamente, a resposta à sua pergunta "Os nomes deles são os mesmos?" É NULO. Observe que, se você comparar qualquer coisa com NULL, sua resposta será NULL.