web-dev-qa-db-ja.com

Azure CosmosDBでLIKEクエリを作成する方法

次のクエリでCosmos DBからデータを取得したいのですが。

SELECT * FROM c WHERE c.pi like '09%001'

(これは、MySQLで使用できるSQLクエリです)

ここで、piは文字列値であり、09001001または09025001

Cosmos DBでLIKEコマンドを使用する方法はありますか?

Cosmos DBがCONTAINSを使用していることは知っていますが、文字列の先頭または末尾を具体的に一致させたい場合は使用できません。

20
arjan kroon

現在Azure CosmosdbCONTAINSをサポートしますSTARTSWITH、およびENDSWITHLIKEと同等の組み込み関数。

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')
19
Sajeetharan