webForumDet fria alternativet
Logga in / Bli medlem

IIF i SQL Server

Databaser & SQL

4 svar · 204 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Frågan#1

Finns inte IIF i SQL Server?
Jag skulle vilja skriva ungefär så här i en View:

SELECT IIF(bMemberShowEmail, sMemberEmail, NULL) AS sMemberEmail FROM tblMember
Medlem sedan dec. 200012 464 inlägg
#2

Det är case som gäller. Iif är förmodligen snart historia.

SELECT case bMemberShowEmail when 1 then sMemberEmail else null end AS sMemberEmail FROM tblMember

(om bMemberShowEmail är bit)

nullif(a,b) är en förkortning av
case when a <> b then a end

Medlem sedan maj 200010 687 inlägg
#3

Okej, tack! :)

Medlem sedan maj 200010 687 inlägg
#4

Men om jag skulle vilja att bOnline ska vara 1 om DATEDIFF(MINUTE,
o.dOnlineDate, CURRENT_TIMESTAMP) < 10 och annars 0, hur skriver man då?

Medlem sedan maj 200010 687 inlägg
#5

Äsch, skrev så här... :)

CASE WHEN DATEDIFF(MINUTE, 
    o.dOnlineDate, CURRENT_TIMESTAMP) < 10 THEN 1 ELSE 0 END
396 ms totalt · 4 externa anrop · v20260731065814-full.05830320
135 ms — deklarationer (db)
129 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)