2016-12-13 5 views
0

私のワークフローの一部をMySQLからMonetDBに移行しています。MonetDBでFIND_IN_SET機能を利用する方法がありますか

> SELECT FIND_IN_SET('b', 'a,b,c,d'); 
2 

私は2つのアライメントの間のドメインの定義を変換するため、この機能に頼った:これまでの私の進歩を妨げている

一つはMonetDBでFIND_IN_SET機能の欠如です。

妥当なパフォーマンスでMonetDBでどのようにこの機能を利用できるか考えてみましょうか?

答えて

1

正規表現を試してみることもできます。私は、MySQLを使用している人に、複数の針をカンマ区切りのhaystackで探したいと思っていました。おそらくMonetDBに適合させることができましたか?

SELECT name FROM table WHERE CONCAT(',', DataID, ',') REGEXP ',(222|777|400),' 
+0

回答ありがとうございます。しかし、私はターゲット内のクエリのインデックスを与えるものが必要です(私の質問では '2'の戻り値に注意してください)。 'REGEXP'はこれをしません... – ostrokach

+1

私は道のボールの部分を運んだと思います。 MonetDBは、理論的にはすべてのマッチをトークン化できるが、探している特定のインデックスを返さないpcre regexを使用します。主な問題はパフォーマンスに重大な影響を及ぼすため、MonetDBに行った理由ではありません。 LOCATE()は一致の文字列の位置を返しますが、倍数は返しません。私はここでより多くの援助ができることを願っています。 –

関連する問題