안녕하세요.
주소에 의왕이 들어가있으면 check를 print하는 쿼리인데,
like 문을 덕지덕지 붙이는게 좋을지(라인수는 짧음)
배열형식으로 array를 만들어서 체크하는게 성능이 좋은지 알수있을까요?
1) like
DECLARE @juso1 varchar(100)
SET @juso1 = '경기도 의왕'
IF @juso1 like '%수원%' or @juso1 like '%의왕%' or @juso1 like '%군포%' or @juso1 like '%하남%' or @juso1 like '%성남%'
print 'check'
2) strArray 변수 ,잘라서 사용(MSSQL 기준 배열 흉내)
DECLARE @juso1 varchar(100)
SET @juso1 = '경기도 의왕'
DECLARE @strArray nvarchar(128)
SET @strArray = '수원,의왕,군포,하남,성남'
WHILE ChARINDEX(',', @strArray) <> 0
BEGIN
-- 할 일
IF @juso1 like '%' + SUBSTRING( @strArray, 1, CHARINDEX(',', @strArray) - 1 ) + '%'
BEGIN
print 'check'
END
SET @strArray = SUBSTRING( @strArray, CHARINDEX(',', @strArray) + 1, LEN(@strArray) )
IF CHARINDEX( ',', @strArray ) = 0
BEGIN
-- 마지막 할 일
IF @juso1 like '%' + SUBSTRING( @strArray, 1, LEN(@strArray) ) + '%'
BEGIN
print 'check'
END
END
END