2010-08-24 73 views
2

我想從C_Table中選擇,其中Name='John'和使用like運算符。例如,如何在SQL中使用'like'運算符?

select Name from C_Table where Name='John' AND where Details like %Boy% 

我該怎麼做?

(Table name is C_Table) 
----------------------------------------------- 
Name | P_No | C_No | Details   | 
----------------------------------------------- 
John | 001 | 001 | Good Boy   | 
John | 002 | 002 | Naughty Boy  | 
John | 003 | 003 | Very Bad Boy  | 
Mary | 004 | 004 | Beautiful Girl | 
Mary | 005 | 005 | Pretty Girl  | 
Mary | 006 | 005 | Gorgeous   | 
----------------------------------------------- 

回答

6

你幾乎擁有了:

select name from table where name="John" and details like '%Boy%'; 
0
select Name from C_Table where Name='John' and Details like '%Boy%' 
4

你說什麼作品,但只有一個WHERE被使用,在單引號被包裹%Boy%需求太:

SELECT Name FROM C_Table WHERE Name = 'John' AND Details LIKE '%Boy%' 
2
SELECT Name 
FROM C_Table 
WHERE Name = 'John' 
    AND Details LIKE '%Boy%' 

這將返回所有行名稱列是'John',而詳細信息列中包含'Boy'(%是一個通配符,因此它將匹配任何在前後都有「Boy」一詞的任何內容)。

您只需指定WHERE一次,AND s和OR s之後,該點將擴展WHERE子句。另外,參數在字符串時需要引用。

1

你接近,試試這個

select * 
from C_Table 
where Name='John' 
AND Details like '%Boy%' 
+0

謝謝我成功在您的幫助。 – Jack 2010-08-24 20:35:32

2
SELECT Name FROM C_Table WHERE Name='John' AND Details LIKE '%Boy%'
3

非常接近 - 在WHERE關鍵字僅在SQL語句中使用一次,你控制使用ANDOR過濾(稱爲謂詞)。 「(」和「)」可以使用匹配括號給出AND/OR的組合。

SELECT Name 
    FROM C_Table 
WHERE Name LIKE 'John' 
    AND Details LIKE '%Boy%' 

一個需要注意在LIKE表達式中使用通配符時是 - 當如C_TABLE.name列存在索引,如果通配符左side-- name LIKE '%John' - 該指數可以是用過的。這意味着查詢速度並不盡如人意。通配符右側 - name LIKE 'John%'沒有這個問題。如果不需要,儘量不要使用左側通配符。

0

試試這個:

SELECT Name FROM C_Table WHERE Name='John' AND Details like '%Boy%'