除了下一个字母为NULL
或NULL
(即O
和{时,我希望找到被任何字符包围的字符串A
或NULLO
{1}}没问题)。到目前为止,我已经提出了以下内容,但它并没有完全符合我的要求:
NULLA
答案 0 :(得分:4)
我会选择:
REPLACE(REPLACE(@VAR,'NULLA',''),'NULLO','') LIKE '%NULL%'
答案 1 :(得分:1)
类似的东西:
DECLARE @VAR VARCHAR(255)
SET @VAR = 'NULL'
SELECT @VAR WHERE @VAR LIKE '%NULL%'
AND @VAR NOT LIKE '%NULL0%'
AND @VAR NOT LIKE '%NULLA%'
答案 2 :(得分:1)
这对我来说似乎已经成功了: select * from nulls_table其中null_field不像'NULL [OA]%'
我创建了一个包含这些值的表:
ANULL
ONULL
NULLA
NULLO
ANULLA
NULL
NULLOXXX
并且选择返回
ANULL
ONULL
ANULLA
NULL
它消除了NULLA,NULLO和NULLOXXX,这似乎是OP想要的 (找到字符串NULL或NULL由任何字符包围,除非下一个字母是O或A)
答案 3 :(得分:0)
您可以使用CHARINDEX
SELECT @VAR WHERE CHARINDEX(@VAR , 'NULL') > 0
OR
SELECT @VAR WHERE CHARINDEX('NULL' , @VAR) > 0