2017-06-23 5 views
0

基準点として使用することができ、テーブルを選択結果:文字LIKE要件を満たす/言葉ではなく、全体のライン

CREATE TABLE TEST (
Owner varchar(64) DEFAULT NULL, 
Devices varchar(64) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

INSERT INTO TEST (Owner,Devices) VALUES 
('Peter', 'laptop,phone,tablet'), 
('Joe', 'phone,laptop,tablet'), 
('Eugene', 'phone,tablet,laptop'); 


mysql> SELECT Owner, Devices FROM TEST WHERE Devices LIKE '%Laptop%'; 
+--------+---------------------+ 
| Owner | Devices    | 
+--------+---------------------+ 
| Peter | laptop,phone,tablet | 
| Joe | phone,laptop,tablet | 
| Eugene | phone,tablet,laptop | 
+--------+---------------------+ 
3 rows in set (0.00 sec) 

LIKE演算子は、特定のパターンを探しますMySQLの結果には一致したパターンだけでなく、一致したパターンの文字列全体が表示されます。次のように結果を表示する方法があるかどう はお知らせください:

+--------+---------------------+ 
| Owner | Devices(LIKE result)| 
+--------+---------------------+ 
| Peter | laptop    | 
| Joe | laptop    | 
| Eugene | laptop    | 
+--------+---------------------+ 
3 rows in set (0.00 sec) 

は、事前にありがとうございます!

答えて

0

はちょうどあなたが選択で探している単語を使用します。

SELECT Owner, "Laptop" FROM TEST WHERE Devices LIKE '%Laptop%'; 
+0

「ラップトップ」はちょうどあなたが入力するものをここに返します。残念ながら、それは解決策ではありません:( –

+0

私はあなたが何を意味するのか分かりません。 "ラップトップ"という言葉を手動で使用している場合は、手動で2回タイプすることができます。 – TBowman

+0

私はちょうど句(選択ステートメントでLIKEで言及されている)を見たいだけです。mysqlが見つけます。文字列全体ではありません。 –

0
declare device varchar(50) 
    set device = 'laptop' 
    select Owner , device as Devices from test where Devices 
    like '%' + device + '%'; 
+0

それをテストすることができない構文にエラーがあります:( –

関連する問題