Agrael Skrevet 8. oktober 2008 Del Skrevet 8. oktober 2008 problemet mitt ligger i en stored procedure I første omgang, tabellen jeg jobber opp mot kan ikke forandres i dag er et av feltene satt til NULL om det er tomt.. helt klart ikke best, men systemet er gammelt og kan ikke helt uten videre forandres uten å risikere store feil som en tenkt situasjon EXECUTE sp_procedure '' inne i proceduren er det da @var som er parameteret (nå en tom streng det jeg prøver å gjøre er noe som SELECT * FROM tabell WHERE id = @var men i tilfellet @var = '' så må setningen bli WHERE id IS NULL jeg tenker noe som IF(@var like '') WHERE id IS NULL ELSE WHERE id = @var men får ikke syntaxen til å bli rett... er sikkert inne på noe.. men tenker helt feil i syntax håper ihvertfall det.. hehe kan som sagt ikke uten videre forandre på tabellen til å ikke trenge NULL når den er tom håper på raskt svar Lenke til kommentar
Manfred Skrevet 8. oktober 2008 Del Skrevet 8. oktober 2008 (endret) If ISNULL(@var) Begin SELECT * FROM..... End Else Begin SELECT * FROM ... End Noe slikt? Edit: Pokkers SQL-blokk som ikke liker linjeskift Endret 8. oktober 2008 av Manfred Lenke til kommentar
olona Skrevet 8. oktober 2008 Del Skrevet 8. oktober 2008 Kan du bruke NVL(@var,0) Altså: ... Where nvl(id,0) = nvl(@var,0) 0 kan jo erstattes med en hvilken som helst variable, eks -1 som du vet ikke er i bruk... Avhenger jo om "" er det samme som null da... Lenke til kommentar
kaffenils Skrevet 8. oktober 2008 Del Skrevet 8. oktober 2008 Til trådstarter: Vi blir veldig glade hvis du kan gi oss informasjon om hvilket DBMS du bruker. Blir litt lettere å gi deg en løsning. Lenke til kommentar
siDDis Skrevet 9. oktober 2008 Del Skrevet 9. oktober 2008 (endret) Det ser nå ut som T-SQL og då er det jo 90% sikkert SQLServer Då skal det vell bli noko ala IF @var IS NULL BEGIN SELECT WHERE ID IS NULL END ELSE IF @var IS NOT NULL BEGIN SELECT WHERE ID = @var END Endret 9. oktober 2008 av siDDIs Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå