2012-02-29 3 views
0

다음 문자가 O 또는 A 일 때 (예 : NULLONULLA 인 경우)를 제외한 모든 문자로 둘러싸인 NULL 또는 NULL 문자열을 찾고 싶습니다. 지금까지 아래로 올라와있다,하지만 확실히 내가하고 싶은 일을하지 않습니다문자열에서 'NULL'문자열을 어떻게 찾을 수 있습니까?

DECLARE @VAR VARCHAR(255) 
SET @VAR = 'NULL' 
SELECT @VAR WHERE @VAR LIKE '%NULL[^OA]' 
+0

필요한 입출력을 표시 하시겠습니까? – Vikram

답변

4

나는 갈 것이다 :

REPLACE(REPLACE(@VAR,'NULLA',''),'NULLO','') LIKE '%NULL%' 
+0

좋은 +1 * (6 가지 이상 진행 ...) * –

+0

하지만 NULLOXXX가 있으면 XXX을 반환합니다. 예상 되나요? – Diego

+0

@Diego : LIKE 표현식은 문자열을 반환하지 않으므로 SQL 부울 값 (true, false 또는 null)을 반환하는 테스트입니다. 여기서''xxx '는'% NULL % '''와 같이 OP가 IMO를 기대하는 false를 반환합니다. – Benoit

1

뭔가 같은 :

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

0

사용할 수 있습니다 CHARINDEX

SELECT @VAR WHERE CHARINDEX(@VAR , 'NULL') > 0 

또는

SELECT @VAR WHERE CHARINDEX('NULL' , @VAR) > 0 
1

이 나를 위해 트릭을 할 것으로 보인다 :

: nulls_table에서 * 선택은 어디 이러한 값으로 테이블을 만들어 'NULL [OA] %'

을 좋아하지 null_field

ANULL 
ONULL 
NULLA 
NULLO 
ANULLA 
NULL 
NULLOXXX 

하고 NULLA, NULLO을 제거

ANULL 
ONULL 
ANULLA 
NULL 

선택 반환 OP가 원하는 것 같은 NULLOXXX (다음 문자가 O 또는 A 일 때를 제외하고 어떤 문자로 둘러싸인 NULL 또는 NULL 문자열을 찾으십시오)

관련 문제