04.01.2013, Vladimír Klaus, navštíveno 5160x

MS Access
SQL

Textové řetězce je třeba uvádět v uvozovkách nebo apostrofech.

Upozornění: Uvozovky i apostrofy musí být vždy klasické, rovné – "text", nikoliv „text“ nebo ‚text‘

Řada databází umožňuje použít obojí, je třeba vyzkoušet. V této příručce se používají výhradně uvozovky, což se může hodit třeba pro případ, že hledáme uživatele, který má ve jméně apostrof.

SELECT * FROM Zakaznici WHERE Prijmeni = "O'Connor"

A jak by se tedy zadal tento dotaz pomocí apostrofů? Docela jednoduše – apostrof v příjmení se musí uvést 2x za sebou.

SELECT * FROM Zakaznici WHERE Prijmeni = 'O''Connor'

A podobně to je i v opačném případě – pokud se uvozovky vyskytují uvnitř textu.

SELECT * FROM Produkty WHERE Nazev = "Malá ""Rubikova"" kostka"

V příkladech zde uvedených není středník na konci dotazu použit. Je to z důvodu, že nemá na vlastní dotaz žádný vliv. Je to totiž oddělovač a zde jsou příklady, které jsou psané tak, že se případných více dotazů provádí postupně. Bohužel toto platí třeba pro MS Access nebo MS SQL Server, jiné databáze středník vyžadují vždy.

Pokud byste používali nějaký systém, který umí provést příkazů více, pak by to bylo nutné v každém případě. Zde uvádím malý příklad, určitě již víte, co asi dělá…

ALTER TABLE Anketa000 ADD Prezdivka2 NVARCHAR(100);
UPDATE Anketa000 SET Prezdivka2 = Prezdivka;
ALTER Table Anketa000 DROP COLUMN Prezdivka;