如何使用正则表达式或SQL函数过滤SQL查询结果

时间:2014-04-06 12:00:23

标签: sql sql-server regex

我有以下类型的网址:

/Fullnews/News/English/2014/2014.XML
/Fullnews/News/English/2014/1221264.XML
/Fullnews/News/English/2014/1221272.XML
/Fullnews/News/English/2013/2013.XML
/Fullnews/News/English/2013/1251272.XML
/Fullnews/News/English/2012/2012.XML
/Fullnews/News/English/2012/1281272.XML
/Fullnews/News/English/config.XML
/Fullnews/News/English/list.XML

现在我需要编写SQL程序,我将传递“Fullnews”作为参数,我的程序将返回结果

的GetData( “Fullnews”);

/Fullnews/News/English/2014/1221264.XML
/Fullnews/News/English/2014/1221272.XML
/Fullnews/News/English/2013/1251272.XML
/Fullnews/News/English/2012/1281272.XML

它应该过滤掉最后一部分不是数字的所有文件(配置,列表等),也不应该返回最后一部分为(2014,2013,2012等)的网址(1281272,1221264等)需要渲染。

1 个答案:

答案 0 :(得分:1)

CREATE PROCEDURE p_test
(
@parameter VARCHAR(400)
)
as
BEGIN
SELECT * FROM <tablename>
WHERE url like 
 '/'+@parameter+'/News/English/20[0-2][2-9]/[0-9][0-9][0-9][0-9]_%.XML'
END