Megosztás:


Keresési értékek megadásának szabályai (Visual Database Tools)

A következőkre vonatkozik:SQL Server

Ez a cikk a keresési feltételhez tartozó alábbi típusú literális értékek megadásakor használandó konvenciókról szól:

  • Szöveges értékek
  • Numerikus értékek
  • Dátumok
  • Logikai értékek

Megjegyzés:

A cikkben szereplő információk a standard SQL-92 szabályaiból származnak. Azonban minden adatbázis saját módján implementálhatja az SQL-t. Ezért előfordulhat, hogy az itt ismertetett iránymutatások nem minden esetben érvényesek. Ha kérdése van arról, hogyan adhat meg keresési értékeket egy adott adatbázishoz, tekintse meg a használt adatbázis dokumentációját.

Keresés szöveges értékeken

A szöveges értékek keresési feltételekben való megadásakor az alábbi irányelvek vonatkoznak:

  • Idézőjel A szöveges értékeket idézőjelek közé kell foglalnia, ahogy az alábbi példában is látható egy vezetéknév esetében:

    'Smith'
    

    Ha keresési feltételt ad meg a Feltételek panelen (Visual Database Tools), egyszerűen beírhatja a szöveges értéket, és a Lekérdezés- és nézettervező automatikusan elhelyez egy idézőjelet.

    Megjegyzés:

    Egyes adatbázisokban az önálló idézőjelek kifejezéseit literális értékekként értelmezik, míg a kettős idézőjelek kifejezéseit adatbázis-objektumként, például oszlop- vagy táblahivatkozásként értelmezi a rendszer. Ezért annak ellenére, hogy a Lekérdezés- és nézettervező képes elfogadni a kifejezéseket idézőjelekben, a várttól eltérően értelmezheti őket.

  • Aposztrófok beágyazása Ha a keresett adatok egyetlen idézőjelet (aposztrófot) tartalmaznak, két idézőjelet is megadhat, amelyek azt jelzik, hogy az egyetlen idézőjelet literális értékként, nem elválasztóként jelenti. A következő feltétel például a "Swann's Way" értéket keresi:

    ='Swann''s Way'
    
  • Hosszkorlátok Hosszú sztringek megadásakor ne lépje túl az adatbázis SQL-utasításának maximális hosszát.

  • Kis- és nagybetűk érzékenysége Kövesse a használt adatbázis kis- és nagybetűkre vonatkozó érzékenységi szabályait. A használt adatbázis meghatározza, hogy a szöveges keresések megkülönböztetik-e a kis- és nagybetűket. Egyes adatbázisok például a "=" operátort úgy értelmezik, hogy pontosan megkülönbözteti a kis- és nagybetűket, míg mások a nagybetűk és a kisbetűk tetszőleges kombinációját engedélyezik.

    Ha nem biztos abban, hogy az adatbázis kis- és nagybetűket megkülönböztető keresést használ-e, a keresési feltétel FELSŐ vagy ALSÓ függvényével konvertálhatja a keresési adatok esetét, ahogyan az az alábbi példában látható:

    WHERE UPPER(lname) = 'SMITH'
    

Numerikus értékek keresése

A keresési feltételekben numerikus értékek megadásakor az alábbi irányelvek vonatkoznak:

  • Idézőjelek

    Ne mellékelje a számokat idézőjelek közé.

  • Nem numerikus karakterek

    Ne tartalmazzon nem numerikus karaktereket, kivéve a tizedesjelet (a Windows Vezérlőpult Területi beállítások párbeszédpanelén meghatározottak szerint) és a negatív jelet (-). Ne tartalmazzon számjegycsoport-szimbólumokat (például ezrek közötti vesszőt) vagy pénznemszimbólumokat.

  • Tizedesjelek

    Ha egész számokat ad meg, tizedesjelet is megadhat, függetlenül attól, hogy a keresett érték egész szám vagy valós szám-e.

  • Tudományos jelölés

    A tudományos jelöléssel nagyon nagy vagy nagyon kis számokat is megadhat, mint ebben a példában:

    > 1.23456e-9
    

Keresés dátumokon

A dátumok megadásához használt formátum attól függ, hogy melyik adatbázist használja, és hogy a Lekérdezés és Nézet Tervező melyik ablaktáblájába írja be a dátumot.

Megjegyzés:

Ha nem tudja, hogy az adatforrás melyik formátumot használja, írjon be egy dátumot a Feltételek panel szűrőoszlopába bármilyen ismerős formátumban. A tervező a legtöbb ilyen bejegyzést a megfelelő formátumba alakítja át.

A Lekérdezés- és nézettervező a következő dátumformátumokkal dolgozhat:

  • Helyspecifikus

    A Windows Területi beállítások tulajdonságai párbeszédpanelen megadott dátumok formátuma.

  • Adatbázis-specifikus

    Az adatbázis által értelmezett bármilyen formátum.

  • ANSI standard dátum

    Olyan formátum, amely kapcsos zárójeleket, a "d" jelölőt a dátum megadására és egy dátum karakterláncot használ, ahogyan az alábbi példában is látható:

    { d '1990-12-31' }
    
  • ANSI standard datetime

    Hasonló az ANSI szabvány szerinti dátumhoz, de a "d" helyett a "ts" értéket használja, és órákat, perceket és másodperceket ad hozzá a dátumhoz (a 24 órás időformátumot alkalmazva), mint például 1990. december 31.

    { ts '1990-12-31 00:00:00' }
    

    Az ANSI standard dátumformátuma általában olyan adatbázisokban használatos, amelyek valódi dátum típusú dátumokat jelölnek. Ezzel szemben a datetime formátumot olyan adatbázisokhoz használja, amelyek támogatják a datetime adattípust.

Az alábbi táblázat a Lekérdezés- és nézettervező különböző ablaktábláiban használható dátumformátumot foglalja össze.

Panel Dátumformátum
Feltételek Helyspecifikus adatbázis-specifikus ANSI-szabvány

A Feltételek panelen (Visual Database Tools) megadott dátumok adatbázis-kompatibilis formátumba lesznek konvertálva az SQL-panelen.
SQL Adatbázisspecifikus ANSI-szabvány
Eredmények Területspecifikus

Logikai értékek keresése

A logikai adatok formátuma adatbázisonként eltérő. A hamis értékeket gyakran nulla (0) értékként tárolja a rendszer. Az igaz értékeket leggyakrabban 1, esetenként -1 értékként tárolják. A logikai értékek keresési feltételekben való megadásakor az alábbi irányelvek érvényesek:

  • Hamis érték kereséséhez használjon nullát, ahogyan az alábbi példában is látható:

    SELECT *
    FROM authors
    WHERE contract = 0;
    
  • Ha nem biztos abban, hogy milyen formátumot használjon igaz érték keresésekor, próbálkozzon az 1 használatával, ahogyan az alábbi példában is látható:

    SELECT *
    FROM authors
    WHERE contract = 1;
    
  • Másik lehetőségként kibővítheti a keresés hatókörét úgy, hogy bármilyen nem nulla értéket keres, ahogyan az alábbi példában is látható:

    SELECT *
    FROM authors
    WHERE contract <> 0;