2017-09-08 1 views
0

그래프 api를 통해 CosmosDB에 데이터를 삽입했습니다. 그래프 API의 문자 제한으로 인해 특수 문자를 이스케이프하고 있습니다 ... 그래서 json 문서에서 '슬래시/테스트'문자열은 '슬래시 % 2Ftest'로 저장됩니다. 이상한 점은 SQL 쿼리를 사용하여 데이터를 검색 할 때 일부 상황에서는 반환되지 않는다는 것입니다.
내가 몇 가지 검사했다 : 에 포함 된 (LOWER (Name._value), "슬래시 % 2" 그러나 에 포함 된 예상 된 결과를 반환합니다 (LOWER는 (Name._value)는 "슬래시 % 2 층")는 아무 것도 반환하지 않습니다CosmosDB의 버그가 함수를 포함하고 있습니까?

.

이 나에게 버그 같은 느낌,하지만 난 확인하고 싶습니다.

여러분의 도움에 감사드립니다!

답변

0

여기 그 이유는 '% 2Ftest 슬래시'값입니다 예를 들어. 그대로 그대로 삽입 다음 검색어를 고려해보십시오.

SELECT 'slash % 2Ftest'

:이를 위해

을 { "$ 1" 을 "% 2Ftest 슬래시"}, 당신은 유니 코드 이스케이프 시퀀스 \ Uxxxx에를 사용할 수 있습니다. 이런 식으로 뭔가 :

SELECT '슬래시 \의 u002Ftest'

{ "$ 1": "슬래시/테스트" ]

+0

내가 삽입 된 리터럴 문자열에 문자 검색을하고 있어요 문서. 유니 코드 이스케이프 시퀀스를 시도 할 수는 있지만 여전히 버그와 같은 느낌입니다. –

+0

소문자 값과 비교하기 때문에 사실 버그가 아닙니다. 쿼리를 CONTAINS (LOWER (Name._value), "slash % 2f")로 변경하면 (% 2F -> % 2f) 작동합니다. –

+0

아, 알겠습니다! 도와 줘서 고마워! –