Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Tento článek popisuje konvence, které musíte použít při zadávání následujících typů literálových hodnot pro podmínku hledání:
- Textové hodnoty
- Číselné hodnoty
- Kalendářní data
- Logické hodnoty
Poznámka:
Informace v tomto článku jsou odvozeny z pravidel pro standardní SQL-92. Každá databáze však může implementovat SQL vlastním způsobem. Pokyny uvedené zde proto nemusí být v každém případě platné. Pokud máte dotazy týkající se zadávání hodnot hledání pro konkrétní databázi, projděte si dokumentaci k databázi, kterou používáte.
Hledání textových hodnot
Při zadávání textových hodnot do podmínek hledání platí následující pokyny:
Uvozovky Textové hodnoty uzavřete do jednoduchých uvozovek, jak je znázorněno v tomto příkladu pro příjmení:
'Smith'Pokud zadáváte podmínku hledání v podokně kritérií (Visual Database Tools), můžete jednoduše zadat textovou hodnotu a Návrhář dotazu a zobrazení automaticky umístí kolem něj jednoduché uvozovky.
Poznámka:
V některých databázích jsou termíny v jednoduchých uvozovkách interpretovány jako literální hodnoty, zatímco termíny v uvozovkách jsou interpretovány jako databázové objekty, jako jsou odkazy na sloupce nebo tabulky. Proto i když návrhář dotazů a zobrazení může přijmout termíny v uvozovkách, může je interpretovat jinak, než očekáváte.
Vkládání apostrofů Pokud data, která hledáte, obsahují jednoduchou uvozovku (apostrof), můžete zadat dvě jednoduché uvozovky, které označují, že se jedná o jednoduchou uvozovku jako literálovou hodnotu, nikoli oddělovač. Například následující podmínka vyhledá hodnotu "Swann's Way:"
='Swann''s Way'Omezení délky Při zadávání dlouhých řetězců nepřekračujte maximální délku příkazu SQL pro vaši databázi.
Citlivost malých a velkých písmen Postupujte podle pravidel citlivosti velkých a malých písmen pro databázi, kterou používáte. Databáze, kterou používáte, určuje, jestli se při hledání textu rozlišují malá a velká písmena. Některé databáze například interpretují operátor "=" tak, aby znamenaly přesnou shodu s rozlišováním velkých a malých písmen, ale jiné umožňují shody u jakékoli kombinace velkých a malých písmen.
Pokud si nejste jistí, jestli databáze používá vyhledávání s rozlišováním velkých a malých písmen, můžete pomocí funkcí UPPER nebo LOWER ve vyhledávací podmínce převést případ vyhledávacích dat, jak je znázorněno v následujícím příkladu:
WHERE UPPER(lname) = 'SMITH'
Hledání číselných hodnot
Při zadávání číselných hodnot do podmínek hledání platí následující pokyny:
Uvozovky
Neohraničujte čísla do uvozovek.
Nečíselné znaky
Nezahrnujte nečíselné znaky kromě oddělovače desetinných míst (jak je definováno v dialogovém okně Místní nastavení Ovládacích panelů Systému Windows) a záporné znaménko (-). Nezahrnujte symboly seskupení číslic (například čárku mezi tisíci) nebo symboly měny.
Desetinné čárky
Pokud zadáváte celá čísla, můžete zadat desetinnou čárku, ať už je hodnota, kterou hledáte, celé číslo nebo reálné číslo.
Vědecký zápis
Pomocí vědeckého zápisu můžete zadat velmi velká nebo velmi malá čísla, například v tomto příkladu:
> 1.23456e-9
Hledání kalendářních dat
Formát, který používáte k zadávání kalendářních dat, závisí na databázi, kterou používáte, a v jakém podokně návrháře dotazů a zobrazení zadáváte datum.
Poznámka:
Pokud nevíte, který formát zdroj dat používá, zadejte datum do sloupce filtru podokna Kritéria v libovolném formátu, který znáte. Návrhář převede většinu takových položek do příslušného formátu.
Návrhář dotazů a zobrazení může pracovat s následujícími formáty kalendářních dat:
Lokální specifika
Formát zadaný pro data v dialogovém okně Vlastnosti místního nastavení systému Windows .
Specifické pro databázi
Databáze rozumí libovolnému formátu.
Standardní datum ANSI
Formát, který používá složené závorky, značku d k označení data a řetězec kalendářního data, jako v následujícím příkladu:
{ d '1990-12-31' }Datum a čas podle standardu ANSI
Podobá se standardnímu datu ANSI, ale používá "ts" místo "d" a přidává hodiny, minuty a sekundy k datu (pomocí 24hodinových hodin), jako v tomto příkladu pro 31. prosince 1990:
{ ts '1990-12-31 00:00:00' }Obecně platí, že standardní formát data ANSI se používá s databázemi, které představují kalendářní data pomocí datového typu true date. Oproti tomu se formát datetime používá s databázemi, které podporují datový typ datetime.
Následující tabulka shrnuje formát data, který můžete použít v různých podoknech Návrháře dotazů a zobrazení.
| Okno | Formát dat |
|---|---|
| Kritéria | Standard ANSI specifický pro databáze a národní prostředí Data zadaná v podokně kritérií (nástroje visual database) se v podokně SQL převedou do formátu kompatibilního s databází. |
| SQL | Standard ANSI specifický pro databázi |
| Výsledky | Specifické pro národní prostředí |
Hledání logických hodnot
Formát logických dat se liší od databáze po databázi. Velmi často se hodnota False ukládá jako nula (0). Hodnota True se nejčastěji ukládá jako 1 a občas jako -1. Při zadávání logických hodnot do podmínek hledání platí následující pokyny:
Pokud chcete vyhledat hodnotu False, použijte nulu, jako v následujícím příkladu:
SELECT * FROM authors WHERE contract = 0;Pokud si nejste jistí, jaký formát se má použít při hledání hodnoty True, zkuste použít hodnotu 1, jako v následujícím příkladu:
SELECT * FROM authors WHERE contract = 1;Případně můžete rozšířit rozsah hledání vyhledáním jakékoli nenulové hodnoty, jak je znázorněno v následujícím příkladu:
SELECT * FROM authors WHERE contract <> 0;