2016-08-18 13 views
0

スキーマエッジフィルタとorientdb選択クエリを持つ関数を使用

顧客 - >(エッジ)Ownes - >車両{vehicle_number}

"はOwnes" 車両顧客レコードを照会しようとしました下のような番号でそれは働いた。 (「中」と罰金働いていた「含む」の両方)

select from Customer where "KL-01-B-8898" in out("Ownes").vehicle_number 

私は、同じクエリを実行したいが、下記のように、大文字小文字を区別しない検索を使用して、私は

select from Customer where "kl-01-b-8898" in out("Ownes").vehicle_number.toLowerCase() 

「0」レコードを返さ以下のようにクエリを変更し、行を返しました。上記のようなクエリで 'toLowerCase'のような関数を使用することは可能ですか?

select from Customer where @rid in (select in("Ownes")[email protected] from Vehicle where vehicle_number.toLowerCase() ="kl-01-b-8898") 

答えて

1

あなたはこれを使用することができます: 文字列

のリストを

select from Customer where "kl-01-b-8898" in out("Ownes").vehicle_number.toLowerCase() 

out("Ownes").vehicle_number 

理由リターン:

select from Customer 
let $a= (select number.toUpperCase() from (select out("Ownes").vehicle_number as number from $parent.$current unwind number)) 
where "KL-01-B-8898" in first($a).number 

これは動作しません。

これは動作します:

select from Customer where @rid in (select in("Ownes")[email protected] from Vehicle where vehicle_number.toLowerCase() ="kl-01-b-8898") 

vehicle_numberがString

のドキュメントを参照してください。ですので:http://orientdb.com/docs/last/SQL-Methods.html#bundled-methods

関連する問題