Je souhaite récupérer des données de Cosmos DB avec la requête suivante:
SELECT * FROM c WHERE c.pi like '09%001'
(Il s'agit d'une requête SQL, que je peux utiliser dans MySQL)
Ici, pi
est une valeur de chaîne, qui peut être 09001001
ou 09025001
.
Existe-t-il un moyen d'utiliser une commande LIKE
dans Cosmos DB?
Je sais que la base de données cosmos utilise CONTAINS
, mais cela ne peut pas être utilisé lorsque vous souhaitez faire correspondre spécifiquement le début ou la fin de la chaîne.
Actuellement Azure Cosmosdb
prend en charge le CONTAINS
, STARTSWITH
, et ENDSWITH
fonctions intégrées équivalentes à LIKE .
Le mot-clé pour LIKE dans Cosmosdb est Contient.
SELECT * FROM c WHERE CONTAINS(c.pi, '09')
Donc, dans votre cas, si vous souhaitez faire correspondre le modèle 09%001
, vous devez utiliser:
SELECT * FROM c WHERE STARTSWITH(c.pi, '09') AND ENDSWITH(c.pi, '001')