Niedawno dowiedziałem się o dostępności IIF
funkcji w SQL Server 2012. CASE
W swoich zapytaniach zawsze używam zagnieżdżonych . Chcę poznać dokładny cel IIF
instrukcji i kiedy powinniśmy preferować użycie instrukcji IIF
zamiast CASE
instrukcji w zapytaniu. Najczęściej używam zagnieżdżonych CASE
w moich zapytaniach.
Dzięki za wszystkie uwagi.
sql-server
sql-server-2012
case
iif
neofita
źródło
źródło
Odpowiedzi:
IIF
jest taki sam jakCASE WHEN <Condition> THEN <true part> ELSE <false part> END
. Plan kwerend będzie taki sam. Jest to być może „cukier syntaktyczny”, jak pierwotnie zaimplementowano.CASE jest przenośny na wszystkie platformy SQL, podczas gdy IIF jest specyficzny dla SQL SERVER 2012+.
źródło
IIF to niestandardowa funkcja T-SQL. Został dodany do SQL SERVER 2012, aby Access mógł migrować do SQL Server bez wcześniejszej refaktoryzacji IIF do CASE. Gdy baza danych Access zostanie w pełni zmigrowana do programu SQL Server, można ją refaktoryzować.
źródło