2016-08-03 68 views
0

我的問題是我有一個表存儲優惠,我只想顯示那些有50%(其中的子串'50%')的記錄。如何獲取數值形式的SQL查詢

這是我的表架構: enter image description here 的示例記錄是:

FLAT 50%的小康就愛索爾世界入場券等等。
FLAT 50%折扣
以上。美國馬球 - 高達50%的折扣

我該如何去組合一個SQL查詢來選擇這些?現場的列名叫做coupon_name

+0

使用通配符'%' – Saurabh

+0

每個字符串的格式是否相同? %會始終是兩位數字嗎? –

+0

什麼是表格和列結構?並查詢你已經嘗試過? – Riad

回答

0

一樣會做..

select * from table 
    where coupon_name like '%50[%]%' 

這將給所有的記錄,像下面有一個250,這可能是有效的,因爲百分比不能大於100

sakfjfjk50%sfjbsadjkfbjksdf 
sakfjfjk250%sfjbsadjkfbjksdf 
+0

不應該會喜歡'%50 \ %%'? – Riad

+0

其工作正常,但我只需要只有50%的記錄 –

0

我需要包含'50%的記錄」,您可以使用:

SELECT * 
FROM YourTable 
WHERE coupon_name LIKE '%50[%]%' 

或者使用ESCAPE

SELECT * 
FROM YourTable 
WHERE coupon_name LIKE '%50\%%' ESCAPE '\' 

或者:

SELECT * 
FROM YourTable 
WHERE coupon_name LIKE '%50|%%' ESCAPE '|' 

第三個應該在MySQL和SQL Server的工作。

+0

#1064 - 你的SQL語法有錯誤;查看與您的MySQL服務器版本相對應的手冊,以便在第1行的ELECT * FROM Vcom WHERE coupon_title LIKE'%50 \ %%'LIMIT 0,30'處使用正確的語法 –

+0

SELECT * FROM YourTable WHERE coupon_name LIKE '%50 [%]%'返回零行 –

+0

@pawal仍爲零行 SELECT * FROM Vcom WHERE coupon_title LIKE'%50 | %%' –