gpt4 book ai didi

sql-server-2005 - 没有正则表达式的 SQL Server 模式匹配

转载 作者:行者123 更新时间:2023-12-04 05:35:23 25 4
gpt4 key购买 nike

我正在尝试搜索存储过程中使用的表达式的所有实例,并具有以下内容:

SELECT name, type_desc, create_date, modify_date
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%ufn_TurnFlagOn(5,ColumnA)%'
ORDER BY name

但这不会返回可能在函数参数之间有空格的 sps,例如:
ufn_TurnFlagOn( 5,ColumnA )
ufn_TurnFlagOn(5, ColumnA)
ufn_TurnFlagOn( 5,ColumnA)

请注意:
  • 我不能像这样使用“_”通配符 LIKE
    '%ufn_TurnFlagOn(_5_,_ColumnA_)%'
    因为它正好匹配一个
    单个字符,因此它不会匹配ufn_TurnFlagOn(5,ColumnA)还有一些。
  • 我没有 CLR 集成(我现在也不能注册)因此我
    不能使用正则表达式。

  • 替代方法是使用所有可能性多次运行查询,但是有没有更好的方法可以在 1 个查询中完成此操作?

    最佳答案

    如果空格是唯一的问题,您可以使用 REPLACE删除它们,然后有:

    WHERE REPLACE(OBJECT_DEFINITION(object_id), ' ', '') 
    LIKE '%ufn_TurnFlagOn(5,ColumnA)%'

    关于sql-server-2005 - 没有正则表达式的 SQL Server 模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12012503/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com