Function 在Where子句条件中,比如通配符函数?

Function 在Where子句条件中,比如通配符函数?,function,tsql,where,wildcard,Function,Tsql,Where,Wildcard,大家下午好 因此,这是我在论坛上的第二个问题,我相信随着我对TSQL及其动态功能的了解,这个数字将会增加。如果有人能建议我是否使用最佳实践方法,我将不胜感激 这是我编写的一个函数,用于确定用户的位置: dbo.fnGetCOTLState(CURRENT_USER)) 在我创建的一个视图中,我有一个where子句,如下所示: (dbo.OfficersT.ProcessState = dbo.fnGetCOTLState(CURRENT_USER)) (dbo.Off

大家下午好

因此,这是我在论坛上的第二个问题,我相信随着我对TSQL及其动态功能的了解,这个数字将会增加。如果有人能建议我是否使用最佳实践方法,我将不胜感激

这是我编写的一个函数,用于确定用户的位置:

    dbo.fnGetCOTLState(CURRENT_USER))
在我创建的一个视图中,我有一个where子句,如下所示:

    (dbo.OfficersT.ProcessState = dbo.fnGetCOTLState(CURRENT_USER))
    (dbo.OfficersT.ProcessState LIKE dbo.fnGetCOTLState(CURRENT_USER))
由于最近的更改,我需要将其更新为a,以便更具动态性,因此我将=更新为a,如下所示:

    (dbo.OfficersT.ProcessState = dbo.fnGetCOTLState(CURRENT_USER))
    (dbo.OfficersT.ProcessState LIKE dbo.fnGetCOTLState(CURRENT_USER))
然而,我意识到这仍然不足以提取我需要的记录,我必须通配符dbo.fnGetCOTLState函数,并且来自Microsoft access后台,我尝试了以下语法:

    (dbo.OfficersT.ProcessState LIKE '%' & dbo.fnGetCOTLState(CURRENT_USER)) & '%'

    (dbo.OfficersT.ProcessState LIKE %dbo.fnGetCOTLState(CURRENT_USER))%

    (dbo.OfficersT.ProcessState LIKE '%dbo.fnGetCOTLState(CURRENT_USER))%'
但是没有一个有效><<很可能我没有在谷歌上使用正确的词,但我似乎找不到任何人试图在任何地方的函数上使用通配符!我甚至不知道这是否可能,但如果有人能提供一些我想要实现的信息,像往常一样,我将永远感激


肖尼

你的一次尝试接近成功。更改此项:

(dbo.OfficersT.ProcessState LIKE '%' & dbo.fnGetCOTLState(CURRENT_USER)) & '%'
为此:

dbo.OfficersT.ProcessState LIKE '%' + dbo.fnGetCOTLState(CURRENT_USER) + '%'

SQL Server中的字符串连接运算符是加号+,而不是安培和。可能是因为您有VBA背景,而事实上,在VBA背景中,与符号用于字符串连接。

我知道这一定是我缺少的语法!学习TSQL对我来说是相当痛苦的,因为我掌握了所有VBA知识~~事实上,这些知识是相当合适的,这并没有帮助!非常感谢你的帮助。。stackoverflow的成员又一次让我免于数小时的头痛!