Sdílet prostřednictvím


Pravidla pro zadávání hodnot hledání (Visual Database Tools)

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;