Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

sql - parametr w instrukcji where

matylaczki 29 Paź 2014 07:06 879 7
  • #1 29 Paź 2014 07:06
    matylaczki
    Poziom 8  

    Witam,
    stawiam pierwsze kroki w zapytaniach sql i man problem:

    select kolumna1, kolumna2, kolumna3
    from tabela
    where kolumna1 = '¶metr'

    Moje pytanie: jak zapisac, aby zapytanie zwracało wszystkie wiersze gdy parametr będzie pusty(null).

    0 7
  • #2 29 Paź 2014 07:52
    powerm
    Poziom 23  

    Dopisz w warunku OR (metr is null)

    0
  • #3 29 Paź 2014 08:38
    marcinj12
    Poziom 40  

    Chyba: WHERE kolumna1 IS NULL

    0
  • #4 29 Paź 2014 14:51
    NieWiemNieZnamSie
    Poziom 2  

    WHERE kolumna1 IS NULL zwróci rekordy, dla których kolumna1 ma wartość NULL.
    Z pytania wynika, że chodzi raczej o filtrowanie, jeżeli parametr jest podany i zwrócenie wszystkiego, jeżeli nie jest podany.
    W tym przypadku kolega powerm ma rację, powinno to wyglądać jakoś tak:
    SELECT kolumna1, kolumna2, kolumna3
    FROM tabela
    WHERE ((kolumna1 = '¶metr') OR (¶metr IS NULL))

    0
  • #5 30 Paź 2014 08:02
    matylaczki
    Poziom 8  

    Dzieki za wskazówki działa ok.
    Jescze jedno pytanko: czy można, a jeżeli tak to jak zadeklarować zmienną (tak jak VBA). Przykład:

    a = '¶metr'

    select kol1,kol2,kol3
    from tabela
    where kol1 like a or a is null

    0
  • #6 30 Paź 2014 08:46
    rufek90
    Poziom 24  

    W MySQL robi się to tak:

    Kod: sql
    Zaloguj się, aby zobaczyć kod

    0
  • #7 30 Paź 2014 10:19
    NieWiemNieZnamSie
    Poziom 2  

    W SQL Server dodatkowo należałoby zadeklarować używaną zmienną:
    np.:

    Kod: sql
    Zaloguj się, aby zobaczyć kod

    0
  • #8 22 Gru 2014 10:51
    Luckymag
    Poziom 11  

    Dodam tylko, że sparametryzowanie wartości jest łatwe. Tak jak podano.
    Trochę trudniej jest sparamertryzować nazwę tabeli czy pola w zapytaniu.
    Dlatego w T-SQL używa się często kalkulowanych stringów, które się wykonuje

    Kod: sql
    Zaloguj się, aby zobaczyć kod

    0
  Szukaj w 5mln produktów