Fråga : att att optimera fallmeddelandet

kunde du optimera nedanför fallstatement

case
, när (u.bi_user_passport_puid inte är ogiltig
, OCH u.bi_owner_passport_puid är inte null
OCH u.bi_user_passport_puid = u.bi_owner_passport_puid), därefter else
0
för
1
avslutar SOM IsFamilyHead

thanks i advance
" klar "

Svar : att att optimera fallmeddelandet

Ogiltig-kontrollera är överflödigt därför att OGILTIG OGILTIGT och [några värderar], när inställningen ANSI_NULLS är fastställd till PÅ <> (SQL-serverstandard), <> OGILTIGT.

Således endast ”u.bi_user_passport_puid = skulle u.bi_owner_passport_puid” suffice. När en eller båda är OGILTIGA, resultatet ska är alltid negationen.

Du kan kontrollera inställningen med befalla:
DBCC USEROPTIONS
Om det fastställda alternativet ”ansi_nulls” är i lista, det är PÅ.
1:
2:
3:
4:
FALL
   NÄR u.bi_user_passport_puid = u.bi_owner_passport_puid) DÄREFTER 1
   ANNARS 0
AVSLUTA SOM IsFamilyHead
Andra lösningar  
 
programming4us programming4us