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

回答編集履歴

4

追記

2018/11/12 06:47

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -16,4 +16,6 @@
16
16
  ) as tmp
17
17
  where '山田太郎' like concat('%', `name`, '%')
18
18
  ```
19
- 一応上記で2がHITします。
19
+ 一応上記で2がHITします。
20
+
21
+ ※演算子で、左辺に項目、右辺に値を直接指定するケースが多いものは、逆の指定も可能な事を思い付かない場合が多いですね。他にはBetweenなども該当すると思います。

3

追記

2018/11/12 06:47

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -5,4 +5,15 @@
5
5
 
6
6
  但し入力が「大山田太郎」とかでもHITします。
7
7
 
8
- 入力となるものを、姓と名を空白で区切るなどのルールを持たせる、通常のLIKEとした方が精度は高くなります。
8
+ 入力となるものを、姓と名を空白で区切るなどのルールを持たせる、通常のLIKEとした方が精度は高くなります。
9
+
10
+ ```SQL
11
+ select *
12
+ from (
13
+ select 1 as id ,'中居' as `name` from dual
14
+ union all select 2,'山田' from dual
15
+ union all select 3,'横山' from dual
16
+ ) as tmp
17
+ where '山田太郎' like concat('%', `name`, '%')
18
+ ```
19
+ 一応上記で2がHITします。

2

推敲

2018/11/12 06:27

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -5,4 +5,4 @@
5
5
 
6
6
  但し入力が「大山田太郎」とかでもHITします。
7
7
 
8
- 入力となるものを、姓と名を空白で区切るなどのルールを持たせる方が精度は高くなります。
8
+ 入力となるものを、姓と名を空白で区切るなどのルールを持たせる、通常のLIKEとした方が精度は高くなります。

1

追記

2018/11/12 06:07

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,4 +1,8 @@
1
1
  ```SQL
2
2
  select * from tbl_master
3
3
  where '山田太郎' like concat('%', name, '%')
4
- ```
4
+ ```
5
+
6
+ 但し入力が「大山田太郎」とかでもHITします。
7
+
8
+ 入力となるものを、姓と名を空白で区切るなどのルールを持たせる方が精度は高くなります。