2017-09-08 9 views
0

グラフapiを介してCosmosDBにデータを挿入しました。グラフAPIの文字制限のために、私は特殊文字をエスケープしています....だから、jsonドキュメントでは、 'スラッシュ/テスト'文字列は 'スラッシュ%2Ftest'として保存されています。奇妙なのは、SQLクエリを使用してデータを検索すると、状況によっては返されないということです。
私はいくつかのテストをした: は(LOWER(Name._value)、 "スラッシュ%2" が期待される結果 を返しCONTAINSしかし )が(LOWER(Name._value)、 "スラッシュ%2F" が含まれていることは何も返さないCosmosDBのバグには機能が含まれていますか?

これは私にはバグのように感じるが、私は検証したいと思います。

あなたの助けをありがとう!

答えて

0

ここに理由があるとして、 '%2Ftestスラッシュは文字通り挿入されている値である。たとえば、次のクエリを検討してください:

SELECT 'slash%2Ftest'

{ "$ 1": "%を大幅に削減2Ftest" }

これを達成するために、あなたは、Unicodeエスケープシーケンス\ uXXXXというを使用することをお勧めします。このような何か:

SELECTは

{ "$ 1" '\ u002Ftestスラッシュ': "をスラッシュ/テスト" ]

+0

私が挿入された文字列リテラルにリテラル検索をやっています資料。私はUnicodeエスケープシーケンスを試すことができます...しかし、これはまだバグのように感じます。 –

+0

小文字の値と比較しているので、実際にはバグではありません。クエリをCONTAINS(LOWER(Name._value)、 "slash%2f")に変更すると、(%2F - >%2f)動作するはずです。 –

+0

ああ、私は見る!ご協力ありがとうございました! –

関連する問題