Beror väl lite på vad du menar med tom, men...
Är det null du pratar om så kan du använda COALESCE.
UPDATE tabell SET a= @a, b= @b, c= COALESCE(@c, c) WHERE x = y
3 svar · 245 visningar · startad av inspiro
Hej! Jag har en sql update med ett några parametrar:
UPDATE tabell SET a= @a, b= @b, c= @c WHERE x = y
Men om exempelvis parameter "c" är tom så skulle jag vilja hoppa över just den inserten. Man kan väl ha någon slags if-sats i sql men jag får inte till det riktigt?
använder sql server express.
Beror väl lite på vad du menar med tom, men...
Är det null du pratar om så kan du använda COALESCE.
UPDATE tabell SET a= @a, b= @b, c= COALESCE(@c, c) WHERE x = y
Med tom menar jag inte null utan att den inte innehåller någon text, alltså exempelvis string param = "";
Ska testa ditt exempel direkt!
Om det är tom sträng du vill jämföra med borde det kunna se ut så här:
UPDATE tabell SET a= @a, b= @b,
c= CASE WHEN @c = '' THEN c ELSE @c END
WHERE x = y