2013-10-15 67 views
0

我想知道是否有辦法在SQL中選擇部分匹配的數據。 舉例來說,如果我有:選擇部分匹配的數據

name 
---- 
Index 
Index.jpg 
Index.html 
Foot 
foot.jpg 
Hand 
head.jpg 

,想顯示(與字符串匹配的所有名稱):

name 
---- 
Index 
Index.jpg 
Index.html 
Foot 
foot.jpg 

我可以使用正則表達式匹配呢?

+0

你能詳細闡述一下選擇的邏輯嗎?我只會使用'where name''hand'',這將工作假定排序規則不區分大小寫。 –

+0

我想選擇並返回所有匹配的數據。我正在構建一份報告,以查找與其關聯文件的所有資產信息(如Index和Index.jpg)。因此,如果資產沒有任何匹配的信息(如Hand和head.jpg),它就不會顯示出來。 – Sgarman

+0

你的意思是你在尋找'File。*'匹配嗎? –

回答

1

看看我在SQL Fiddle中所做的這個例子。

SELECT * 
FROM 
(
SELECT name AS 'Asset' FROM Table1 WHERE name NOT LIKE '%.%' 
) AS A 
JOIN 
(
SELECT name AS 'Files' FROM Table1 WHERE name LIKE '%.%' 
) AS B 
ON A.Asset = SUBSTRING(B.Files, 1, INSTR(B.Files, '.') - 1) 
+0

請在這裏粘貼你的代碼。 –