次のクエリでCosmos DBからデータを取得したいのですが。
SELECT * FROM c WHERE c.pi like '09%001'
(これは、MySQLで使用できるSQLクエリです)
ここで、pi
は文字列値であり、09001001
または09025001
。
Cosmos DBでLIKE
コマンドを使用する方法はありますか?
Cosmos DBがCONTAINS
を使用していることは知っていますが、文字列の先頭または末尾を具体的に一致させたい場合は使用できません。
現在Azure Cosmosdb
はCONTAINS
、をサポートしますSTARTSWITH
、およびENDSWITH
LIKEと同等の組み込み関数。
CosmosdbのLIKEのキーワードはContainsです。
SELECT * FROM c WHERE CONTAINS(c.pi, '09')
したがって、あなたの場合、パターンに一致させたい場合は09%001
、使用する必要があります:
SELECT * FROM c WHERE STARTSWITH(c.pi, '09') AND ENDSWITH(c.pi, '001')