質問するログイン新規登録

質問編集履歴

2

修正

2016/12/05 08:31

投稿

tkshp
tkshp

スコア174

title CHANGED
File without changes
body CHANGED
@@ -17,9 +17,9 @@
17
17
 
18
18
  ##追記。具体的なデータと検索結果。
19
19
  実際にsampleテーブルのidx_dataのカラムに入っているデータが下記です。
20
- --------------------
20
+
21
21
  日本 国内産 モデル
22
- --------------------
22
+
23
23
  ・{}をつけない場合。
24
24
  ```SQL
25
25
  select * from sample where contains(idx_data,'日本') > 0; → ヒットする。

1

具体的なデータの追記。

2016/12/05 08:31

投稿

tkshp
tkshp

スコア174

title CHANGED
File without changes
body CHANGED
@@ -13,4 +13,28 @@
13
13
  ##試したこと。
14
14
  調べたら、中カッコをつけると、予約語をエスケープするということはわかりました。
15
15
  しかし、今回の例では「文字列1 文字列2 文字列3」に予約語や記号は一切使ってません。
16
- 文字列1~文字列3は日本語の漢字と全角のカタカナのみです。
16
+ 文字列1~文字列3は日本語の漢字と全角のカタカナのみです。
17
+
18
+ ##追記。具体的なデータと検索結果。
19
+ 実際にsampleテーブルのidx_dataのカラムに入っているデータが下記です。
20
+ --------------------
21
+ 日本 国内産 モデル
22
+ --------------------
23
+ ・{}をつけない場合。
24
+ ```SQL
25
+ select * from sample where contains(idx_data,'日本') > 0; → ヒットする。
26
+ select * from sample where contains(idx_data,'国内産') > 0; → ヒットする。
27
+ select * from sample where contains(idx_data,'モデル') > 0; → ヒットする。
28
+ select * from sample where contains(idx_data,'日本 国内産') > 0; → ヒットしない。
29
+ select * from sample where contains(idx_data,'国内産 モデル') > 0; → ヒットする。
30
+ select * from sample where contains(idx_data,'日本 国内産 モデル') > 0; → ヒットしない。
31
+ ```
32
+ ・{}をつけた場合。
33
+ ```SQL
34
+ select * from sample where contains(idx_data,'{日本}') > 0; → ヒットする。
35
+ select * from sample where contains(idx_data,'{国内産}') > 0; → ヒットする。
36
+ select * from sample where contains(idx_data,'{モデル}') > 0; → ヒットする。
37
+ select * from sample where contains(idx_data,'{日本 国内産}') > 0; → ヒットする。
38
+ select * from sample where contains(idx_data,'{国内産 モデル}') > 0; → ヒットする。
39
+ select * from sample where contains(idx_data,'{日本 国内産 モデル}') > 0; → ヒットする。
40
+ ```