我認爲這是CONTAINS
,但這不適合我。如何判斷VARCHAR變量是否包含子字符串?
我要做到這一點:
IF CONTAINS(@stringVar, 'thisstring')
...
我要運行一個select
或另一個,這取決於變量是否包含一個字符串,我無法弄清楚如何得到它的工作。我看到的所有示例都使用包含中的列。
在此先感謝。
我認爲這是CONTAINS
,但這不適合我。如何判斷VARCHAR變量是否包含子字符串?
我要做到這一點:
IF CONTAINS(@stringVar, 'thisstring')
...
我要運行一個select
或另一個,這取決於變量是否包含一個字符串,我無法弄清楚如何得到它的工作。我看到的所有示例都使用包含中的列。
在此先感謝。
標準SQL的方法是使用這樣的:
where @stringVar like '%thisstring%'
這是一個查詢語句。你也可以這樣做在TSQL:
if @stringVar like '%thisstring%'
CONTAINS
是全文索引字段 - 如果沒有,則使用LIKE
代替LIKE
(它的工作與其他評論者所建議的),你可以選擇使用CHARINDEX
:
declare @full varchar(100) = 'abcdefg'
declare @find varchar(100) = 'cde'
if (charindex(@find, @full) > 0)
print 'exists'
IF CHARINDEX('TextToSearch',@TextWhereISearch, 0) > 0 => TEXT EXISTS
IF PATINDEX('TextToSearch', @TextWhereISearch) > 0 => TEXT EXISTS
Additionally we can also use LIKE but I usually don't use LIKE.
...這讓我傷心。我有一天嘗試過,但沒有奏效。我必須輸入錯誤的東西,因爲它工作正常。我打算在3天的週末之前在週五晚些時候做點什麼。對於我所知道的,我可能已將整個陳述向後輸入。謝謝! – Yatrix
@Yatrix。 。 。你也可以使用charindex('thisstring',@stringVar),如果這樣似乎不起作用。 –
@Asad。 。 。當然這會起作用。通配符'%'匹配零個或多個字符。 –