Ich möchte Daten aus Cosmos DB mit der folgenden Abfrage abrufen:
SELECT * FROM c WHERE c.pi like '09%001'
(Dies ist eine SQL-Abfrage, die ich in MySQL verwenden kann.)
Hier ist pi
ein Zeichenfolgenwert, der 09001001
Oder 09025001
Sein kann.
Gibt es eine Möglichkeit, einen Befehl LIKE
in Cosmos DB zu verwenden?
Ich weiß, dass Cosmos DB CONTAINS
verwendet, aber dies kann nicht verwendet werden, wenn Sie speziell den Anfang oder das Ende der Zeichenfolge abgleichen möchten.
Derzeit Azure Cosmosdb
unterstützt die CONTAINS
, STARTSWITH
und ENDSWITH
integrierte Funktionen, die LIKE entsprechen .
Das Schlüsselwort für LIKE in Cosmosdb lautet Enthält.
SELECT * FROM c WHERE CONTAINS(c.pi, '09')
Also, in Ihrem Fall, wenn Sie dem Muster entsprechen möchten 09%001
müssen Sie verwenden:
SELECT * FROM c WHERE STARTSWITH(c.pi, '09') AND ENDSWITH(c.pi, '001')