T-sql比较两个变量,看看另一个是否拥有第一个变量

时间:2012-11-22 22:29:58

标签: sql-server tsql

我已经看到了这个问题,但没有像这样问过,如果有问题请将它链接起来。

我正在使用T-SQL而我正在编写存储过程。

所以我有@masterstring让我们说

'www.apple.com'

@slavestring

'www.apple.com/subdirectory'

我使用下面的代码来查看是否应该向数据库中添加行。

我想要做的是在数据库通过此子句时向数据库添加行。

IF NOT EXISTS (SELECT ranking_date, ranking_keyword, ranking_id_doman
                FROM [dbo].[t_ranking] 
                WHERE ranking_id_doman = @domanID
                AND ranking_keyword = @keyword
                AND ranking_searchesincluded = @searchesincluded) 
                AND @masterstring like @slavestring +'%'

@masterstring在整个过程中保持不变,但每次插入都会@slavestring更改。

QUESTION
如何编写AND语句,以便包含@slavestring的每个@masterstring都为真?

我试过

尝试#1:

AND @masterstring like '%' + @slavestring + '%'

尝试#2:

@masterstring like @slavestring + '%'

他们都没有工作......

1 个答案:

答案 0 :(得分:1)

您可以使用SUBSTRINGLEN函数执行此操作:

IF NOT EXISTS (SELECT ranking_date, ranking_keyword, ranking_id_doman
               FROM [dbo].[t_ranking] 
               WHERE ranking_id_doman = @domanID
               AND ranking_keyword = @keyword
               AND ranking_searchesincluded = @searchesincluded) 
               AND SUBSTRING(@slavestring, 1, LEN(@masterstring)) = @masterstring