如何找到字符串' NULL'在一个字符串?

时间:2012-02-29 09:54:43

标签: sql

除了下一个字母为NULLNULL(即O和{时,我希望找到被任何字符包围的字符串ANULLO {1}}没问题)。到目前为止,我已经提出了以下内容,但它并没有完全符合我的要求:

NULLA

4 个答案:

答案 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