选择部分匹配的数据

时间:2013-10-15 23:21:47

标签: sql oracle oracle11g

我想知道是否有办法在SQL中选择部分匹配的数据。  例如,如果我有:

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

并希望显示(所有带有匹配字符串的名称):

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

我可以使用正则表达式匹配吗?

1 个答案:

答案 0 :(得分: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)