Condividi tramite


LIKE - Linguaggio di query in Cosmos DB (in Azure e Fabric)

Parola LIKE chiave un valore booleano a seconda che una stringa di caratteri specifica corrisponda a un criterio specificato. Un criterio può includere caratteri regolari e caratteri jolly.

Suggerimento

È possibile scrivere query equivalenti logicamente usando la LIKE parola chiave o la funzione di RegexMatch sistema. Si osserva lo stesso utilizzo dell'indice indipendentemente dall'opzione scelta. La scelta di quale opzione usare si basa in gran parte sulla preferenza di sintassi.

Annotazioni

Poiché LIKE può usare un indice, è consigliabile creare un indice di intervallo per le proprietà che si sta confrontando usando LIKE.

È possibile usare i caratteri jolly seguenti con LIKE:

Description Example
% Qualsiasi stringa di zero o più caratteri. WHERE c.description LIKE "%SO%PS%"
_ (sottolineatura) Qualsiasi carattere singolo. WHERE c.description LIKE"%SO_PS%"
[ ] Qualsiasi carattere singolo all'interno dell'intervallo specificato ([a-f]) o impostato ([abcdef]). WHERE c.description LIKE "%SO[t-z]PS%"
[^] Qualsiasi carattere singolo non compreso nell'intervallo specificato ([^a-f]) o impostato ([^abcdef]). WHERE c.description LIKE "%SO[^abc]PS%"

Il % carattere corrisponde a qualsiasi stringa di zero o più caratteri. Ad esempio, inserendo un oggetto % all'inizio e alla fine del criterio, la query seguente restituisce tutti gli elementi in cui il campo specificato contiene la frase come sottostringa:

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

Se alla fine del criterio è stato usato solo un % carattere, verranno restituiti solo elementi con una descrizione che ha iniziato con fruit:

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

Analogamente, il carattere jolly all'inizio del criterio indica che si vuole trovare una corrispondenza con i valori con il valore specificato come prefisso:

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

La NOT parola chiave inverte il risultato della valutazione dell'espressione LIKE della parola chiave. In questo esempio vengono restituiti tutti gli elementi che non corrispondono all'espressione LIKE .

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

È possibile cercare modelli che includono uno o più caratteri jolly usando la ESCAPE clausola . Ad esempio, se si desidera cercare descrizioni contenenti la stringa 20%, non si vuole interpretare come % carattere jolly. In questo esempio viene interpretato come carattere di escape in modo da poter eseguire l'escape ^ di un'istanza specifica di %.

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

È possibile racchiudere i caratteri jolly tra parentesi quadre per considerarli come caratteri letterali. Quando si racchiude un carattere jolly tra parentesi quadre, rimuovere tutti gli attributi speciali. Questa tabella include esempi di caratteri letterali.

Valore analizzato
LIKE "20-30[%]" 20-30%
LIKE "[_]n" _n
LIKE "[ [ ]" [
LIKE "]" ]