webForumDet fria alternativet

Case i SP

Databaser & SQL

12 svar · 327 visningar · startad av KalsongCesar

Medlem sedan mars 2001339 inlägg
Frågan#1

Har en sP som jag vill göra case utav where delen

om @nor är null ska den se ut

WHERE	Users.idxCampaign = @idxCampaign

om @nor inte är null ska den se ut

WHERE	Users.idxCampaign not like @idxCampaign

har testat if stas men funkar inge bra..
Så tänkte få till en case där som bara vljer vilken som ska väljas.

tack på förhand.

Medlem sedan dec. 200012 464 inlägg
#2
WHERE	
(@nor is null and Users.idxCampaign = @idxCampaign)
or
(@nor is not null and Users.idxCampaign not like @idxCampaign)

Varför like?

Medlem sedan mars 2001339 inlägg
#3

Tack det funkar.

"Not like", vad är bättre? <>

Medlem sedan juni 200032 967 inlägg
#4

Om du ska göra exakta jämförelser passar väl = alldeles ypperligt :q

Använder du inte wildcards finns ingen anledning att använda Like.

Medlem sedan mars 2001339 inlägg
#5

jo men vad ska jag ha istället för not like då.
KOm inte på vad det är för syntax som gäller != @idx...

Medlem sedan dec. 200012 464 inlägg
#6

"Not like", vad är bättre? <>

Ja.

Medlem sedan mars 2001339 inlägg
#7

då kör vi
<>
=)

Medlem sedan juni 200032 967 inlägg
#8

Antingen <> eller NOT detena = detandra. :)

Medlem sedan dec. 200012 464 inlägg
#9

Eftersom SQL använder trevärdeslogik så kan man inte säga att

a <> b <==> not a = b
Medlem sedan juni 200032 967 inlägg
#10

Ok, det är inte ofta du tappar bort mig, men det där får du gärna förklara, om du har tid. :)

Medlem sedan mars 2001339 inlägg
#11

Jag lämnar tråden nöjd med tidigare svar =)

Medlem sedan nov. 20017 144 inlägg
#12

LarsG skrev:

Eftersom SQL använder trevärdeslogik så kan man inte säga att

Menar du

http://www.all2know.com skrev:

I den polyvalenta logiken motsvarar =100% 'sant' ('helt sant') och <100% 'falskt' ('icke-helt sant') och inget kan finnas mellan dessa, medan =0% motsvarar 'utelsluten' ('helt utesluten') och >0% motsvarar 'existens' (icke-helt utesluten'). I specialfallet med en två-värd kontext sammanfaller >0% med =100% och <100% med =0% så att 'falsk' nu motsvaras av värdet 0.

;)

Medlem sedan dec. 20003 887 inlägg
#13

Jesper T skrev:

LarsG skrev:

Eftersom SQL använder trevärdeslogik så kan man inte säga att

Menar du

http://www.all2know.com skrev:

I den polyvalenta logiken motsvarar =100% 'sant' ('helt sant') och <100% 'falskt' ('icke-helt sant') och inget kan finnas mellan dessa, medan =0% motsvarar 'utelsluten' ('helt utesluten') och >0% motsvarar 'existens' (icke-helt utesluten'). I specialfallet med en två-värd kontext sammanfaller >0% med =100% och <100% med =0% så att 'falsk' nu motsvaras av värdet 0.

;)

Eh, jasså?

266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)