Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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;