Sdílet prostřednictvím


LIKE – Dotazovací jazyk ve službě Cosmos DB (v Azure a prostředcích infrastruktury)

Klíčové LIKE slovo je logická hodnota v závislosti na tom, jestli určitý znakový řetězec odpovídá zadanému vzoru. Vzor může obsahovat běžné znaky a zástupné znaky.

Návod

Logicky ekvivalentní dotazy můžete psát pomocí klíčového LIKERegexMatch slova nebo systémové funkce. Můžete sledovat stejné využití indexu bez ohledu na to, kterou možnost zvolíte. Volba, kterou možnost použít, je z velké části založena na předvolbě syntaxe.

Poznámka:

Protože LIKE můžete použít index, měli byste vytvořit index rozsahu pro vlastnosti, které porovnáváte pomocí LIKE.

Následující zástupné znaky můžete použít pomocí funkce LIKE:

Description Example
% Libovolný řetězec s nulovými nebo více znaky. WHERE c.description LIKE "%SO%PS%"
_ (podtržítko) Libovolný jeden znak. WHERE c.description LIKE"%SO_PS%"
[ ] Libovolný jeden znak v zadaném rozsahu ([a-f]) nebo sadě ([abcdef]). WHERE c.description LIKE "%SO[t-z]PS%"
[^] Libovolný jeden znak, který není v zadaném rozsahu ([^a-f]) nebo v sadě ([^abcdef]). WHERE c.description LIKE "%SO[^abc]PS%"

Znak % odpovídá libovolnému řetězci s nulovými nebo více znaky. Například umístěním % na začátek a konec vzoru vrátí následující dotaz všechny položky, ve kterých zadané pole obsahuje frázi jako podřetězeč:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "%driver%"

Pokud jste použili % pouze znak na konci vzoru, vrátili byste pouze položky s popisem fruit, který začínal na:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "fruit%"

Podobně zástupný znak na začátku vzoru označuje, že chcete shodovat hodnoty se zadanou hodnotou jako předponu:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "%Road"

Klíčové NOT slovo inverzní k výsledku vyhodnocení výrazu LIKE klíčového slova. Tento příklad vrátí všechny položky, které neodpovídají výrazu LIKE .

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name NOT LIKE "%winter%"

Pomocí klauzule můžete vyhledat vzory, které obsahují jeden nebo více zástupných znaků ESCAPE . Pokud byste například chtěli vyhledat popisy, které obsahoval řetězec 20%, nebudete chtít interpretovat % jako zástupný znak. Tento příklad interpretuje ^ jako řídicí znak, takže můžete utéct konkrétní instanci %.

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.description LIKE "%20^%%" ESCAPE "^"

Zástupné znaky můžete uzavřít do závorek, abyste je mohli považovat za literální znaky. Když uzavřete zástupný znak do závorek, odeberete všechny speciální atributy. Tato tabulka obsahuje příklady literálových znaků.

Parsovaná hodnota
LIKE "20-30[%]" 20-30%
LIKE "[_]n" _n
LIKE "[ [ ]" [
LIKE "]" ]