我想要一个regular expression
,可以在sql查询中唯一标识用户定义的函数。
例如:
with someExp(parameter)
as
(
select parameter = convert(varchar(8000),'welcome')
union all
select parameter + 'user' from someExp where lengthOfPara(parameter) < 100
)
select parameter from someExp
order by parameter
正则表达式应唯一标识函数convert and lengthOfPara
。
提前致谢。
答案 0 :(得分:3)
这是不可能的。 SQL查询不是由常规语言描述的,因此您不能使用正则表达式以这种方式隔离任意构造。
答案 1 :(得分:0)
正则表达式不是上下文感知的,它不知道它正在处理sql查询。就正则表达而言,它只是纯文本。
在本文中,没有任何内容可以唯一地将函数标识为与包含单词和括号对的其他结构分开,例如示例中的someExp(parameter)
和varchar(8000)
。
答案 2 :(得分:0)