Sql server 2008 SQL get变量位于字符串中间
我正试图创建我的第一个SQL审计,但遇到了一点障碍。我有两个表,一个是包含审核日志的临时表,另一个是包含Lastnames的表(我们称之为tblLastName) 现在,审计针对的是任何具有针对特定表的SELECT的内容,我希望将结果与我的姓氏表进行比较。基本上,在审计表中是statement列,在中会有类似的内容Sql server 2008 SQL get变量位于字符串中间,sql-server-2008,substring,audit,Sql Server 2008,Substring,Audit,我正试图创建我的第一个SQL审计,但遇到了一点障碍。我有两个表,一个是包含审核日志的临时表,另一个是包含Lastnames的表(我们称之为tblLastName) 现在,审计针对的是任何具有针对特定表的SELECT的内容,我希望将结果与我的姓氏表进行比较。基本上,在审计表中是statement列,在中会有类似的内容 where lastname like %personslastname% 我该如何获取%%之间的值,以便将其与lastnames表进行比较 目前,我可以得到哪些行的姓氏被选中,但
where lastname like %personslastname%
我该如何获取%%之间的值,以便将其与lastnames表进行比较
目前,我可以得到哪些行的姓氏被选中,但我不知道如何将其转化为有用的内容。我认为可行的逻辑是获取具有姓氏的行,获取该行的子字符串(我被卡住的地方)以仅获取名称,将该名称存储在变量中,然后与另一个表进行比较。不幸的是,到目前为止,我只知道:
select * from #MyTempTable where statement like '%LastName like%'
任何帮助都将不胜感激。它也是SQL Server 2008
编辑数据:
SELECT vLastName from tblLastName
产生如下结果:
超级用户,
亨德里克斯,
格林伍德,
第页
但我的审计报告要深入得多,因此我略作删节:
select DISTINCT
x.ReceiveMail as [Receive Mail],
x.ParticipantID as [Participant ID],
x.LastName as [Last Name],
x.FirstName as [First Name],
x.AliasName as [Alias Name], ......
where x.LastName like '%Greenwood%'
AND (x.FirstName like '%Jonny%' OR x.AliasName like '%Jonny%')
您可以在问题中添加一些示例数据吗?您也可以提供AuditTable.StatementColumn的示例数据吗?很抱歉,不清楚,上面的审计语句是语句列中的文本。我有几百行类似的字符串,它们是在运行select查询时保存的。是否有可能出现格式错误的where语句?我不这么认为。我可能不清楚,我试图从审计结果中去掉姓氏,所以在上面的例子中,去掉“Greenwood”并将其与已知姓氏列表进行比较。所以我现在有一个语句,它试图在字符串前后获得charindex,但它不起作用。