如何在字符串中找到字符串'NULL'?
问题描述:
我想找到字符串NULL
或NULL
包围任何字符,除非下一个字母是O
或A
(即NULLO
和NULLA
都可以)。我想出了下面这么远,但它并不完全做我想做的:如何在字符串中找到字符串'NULL'?
DECLARE @VAR VARCHAR(255)
SET @VAR = 'NULL'
SELECT @VAR WHERE @VAR LIKE '%NULL[^OA]'
答
我会去:
REPLACE(REPLACE(@VAR,'NULLA',''),'NULLO','') LIKE '%NULL%'
答
喜欢的东西:
DECLARE @VAR VARCHAR(255)
SET @VAR = 'NULL'
SELECT @VAR WHERE @VAR LIKE '%NULL%'
AND @VAR NOT LIKE '%NULL0%'
AND @VAR NOT LIKE '%NULLA%'
+1
是的,但这会失败,并且'HELLO NULL NULLA FOO'。 – Benoit 2012-02-29 10:07:16
答
您可以使用CHARINDEX
SELECT @VAR WHERE CHARINDEX(@VAR , 'NULL') > 0
OR
SELECT @VAR WHERE CHARINDEX('NULL' , @VAR) > 0
答
这似乎已经完成了招对我来说: SELECT * FROM nulls_table其中null_field不喜欢 'NULL [OA]%'
我使用这些值创建一个表:
ANULL
ONULL
NULLA
NULLO
ANULLA
NULL
NULLOXXX
,并选择返回
ANULL
ONULL
ANULLA
NULL
它消除法无,NULLO和NULLOXXX这似乎是OP想要的 (找到字符串NULL或NULL包围任何字符,除非下一个字母是O或A)
请显示您所需的输入和输出? – Vikram 2012-02-29 10:06:08