3
Je veux vérifier si @a est différent de @b dans le "ansi_nulls off":SQL "ANSI_NULLS OFF" comparaison
set ansi_nulls off
declare @a int = 1;
declare @b int = null;
select case when @a<>@b then 'diff' else 'equal' end '@[email protected] ?' --RETURNS 'diff'
mais sans utiliser "set ansi_nulls off". Je suis venu avec ce qui suit, mais il est assez verbeux:
select
case
when @a is null and @b is not null then 'diff' -- null x
when @a is not null and @b is null then 'diff' -- x null
when @a is null and @b is null then 'equal' -- null null
when @a <> @b then 'diff' -- x x
else 'equal'
end
est-il un moyen plus court de le faire? Merci, Nestor
Merci. Parfois, je pense que SQL devrait avoir un opérateur spécial pour les comparaisons non ansi. Droite? Quelque chose comme @a =? = @ B, @a > @b ... – Nestor