Diskuze: Kontrola zda je proměnná null
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, myslím, že nějak takto:
SELECT * FROM Customers WHERE Age > 28 AND Name IS NOT NULL
Myslel jsem to spiše takto př.
SELECT * FROM Customers WHERE Age > @Vek
ale když by proměnná null tak by tento select neprošel a já chci udělat že když je proměnná null, tak ji v podmínce vůbec nepoužívat pokud null není tak ji v podmínce použít. Nějak takto
if(@Vek in not null)
Begin
SELECT * FROM Customers WHERE Age > @Vek
end
else
begin
SELECT * FROM Customers
end
Takhle by to šlo udělat ale když můj dotaz je na 25 řádků a 2x ho úplně stejně tak se mi to nezdá úplně nejlepší řešen, tak jestli někdo neví o jiné možnosti jak to lze lépe vyřešit
WHERE (@Vek IS NULL OR Age > @Vek)
Buď bude věk null, a tedy se vyberou všechny položky, nebo null nebude a tím se bude muset uplatnit ta podmínka.
/*Promenna pro sestaveni WHERE sekce*/
DECLARE @Podminka nvarchar(100)
SET @Podminka = ''
/*Pokud je nastaven nejaky vek vygeneruj WHERE sekci*/
IF (@Vek IS NOT NULL)
BEGIN
@Podminka = 'WHERE Age > ' + @Vek
END
/*Spust sestavene SQL*/
EXEC ('SELECT * FROM Customers ' + @Podminka)
Zobrazeno 5 zpráv z 5.