我想找到字符串NULL
或NULL
包圍任何字符,除非下一個字母是O
或A
(即NULLO
和NULLA
都可以)。我想出了下面這麼遠,但它並不完全做我想做的:如何在字符串中找到字符串'NULL'?
DECLARE @VAR VARCHAR(255)
SET @VAR = 'NULL'
SELECT @VAR WHERE @VAR LIKE '%NULL[^OA]'
我想找到字符串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%'
是的,但這會失敗,並且'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