我已经看到了这个问题,但没有像这样问过,如果有问题请将它链接起来。
我正在使用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 + '%'
他们都没有工作......
答案 0 :(得分:1)
您可以使用SUBSTRING
和LEN
函数执行此操作:
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