2013-10-15 66 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

请在这里粘贴你的代码。 –