5

クエリをデータベース内の正規表現に一致させる方法を見つけようとしています。私が知る限り(私は専門家ではありませんが)、MySQLのようなほとんどのDBMSには検索用の正規表現オプションがありますが、実行できるのは次のようなものだけです。

クエリの正規表現に一致する列1のすべての行を検索します。

私がやりたいのはその逆です。つまり、次のようになります。

列1の正規表現が私のクエリと一致するように、列1のすべての行を検索します。

簡単な例-データベースが次のように構成されているとします。

+----------+-----------+  
| Column 1 |  Column 2 |
+----------+-----------+
|  [a-z]+  |  whatever |
+----------+-----------+
|  [\w]+   |  whatever |
+----------+-----------+
|  [0-9]+  |  whatever |
+----------+-----------+

したがって、「dog」を照会した場合は、[az]+と[\w] +で行を返し、 123を照会した場合は、[0-9]+で行を返します。

SQLでこれを行う方法を知っている場合は、短いSELECTの例または例へのリンクをいただければ幸いです。

4

2 に答える 2

4

MySQLの場合(そして他のデータベースの場合もあります):

SELECT * FROM table WHERE "dog" RLIKE(`Column 1`)
于 2009-12-03T19:40:33.177 に答える
1

PostgreSQLでは次のようになります。

SELECT * FROM table WHERE 'dog' ~ "Column 1";
于 2012-12-17T12:29:36.803 に答える