안녕하세요

늦었지만 새해 복 많이 받으십시오 ^^


프로시져 작성중 궁금증이 있어서 고수님들의 도움을 청합니다


프로시져에 변수가 하나 있습니다

DECLARE @Test AS NVARCHAR(20)


그리고 SELECT 쿼리가 하나 있습니다

SELECT [Test], [Test2]

FROM

        TB_EXAM

WHERE

        [Test] = @Test



여기서 질문이 있는데요

@Test라는 변수에 NULL이 들어갈 경우도 있습니다

(1) 그러면 아래와 같이 WHERE 절을 한문장으로 처리 하거나

WHERE

       ISNULL( [Test],'') = ISNULL(@Test,'')


(2) 아니면 @Test가 NULL일 경우와 아닐 경우를 IF문으로 구분을 두어서 쿼리를 두개 만들어야 할 것 같은데요

IF @Test IS NULL BEGIN 

  SELECT [Test], [Test2]

  FROM

        TB_EXAM

  WHERE

        [Test] IS NULL

END


ELSE  BEGIN 

  SELECT [Test], [Test2]

  FROM

        TB_EXAM

  WHERE

        [Test] = @Test

END



근데 제가 알기로 (1)번처럼  WHERE의 좌변을 건들면, 쿼리의 속도저하가 일어난다고 알고 있습니다

좌변을 건들지 않고 굳이 (2)번처럼 IF문을 쓰지 않고 더 심플하게 할 수 있는 방법이 있을까 해서 문의를 드립니다.


읽어 주셔서 감사합니다









No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 41794
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 22519
8483 iis mssql 연동에 관하여 [3] 아로마로 2015.01.21 4056
8482 엑셀파일 저장후에 글자깨짐 문의 드립니다. akfflr 2015.01.21 4616
8481 TEXT필드 안에 문자열에서 문자열 추출 [4] 다은빈아빠 2015.01.21 3598
8480 로그파일에 대한 문의 드립니다. Larry 2015.01.21 2771
8479 sql2008정품, 2008express 속도 차이? tnaname~!!! 2015.01.21 2498
8478 프로시저 실행 문의 입니다. [1] 우영호수 2015.01.20 2734
8477 조건 연산자가 다를시 정적쿼리 작성 [3] 가끔보는하늘 2015.01.20 3792
8476 동적쿼리 질문 드립니다. 가끔보는하늘 2015.01.20 2408
8475 누적재고 수량 (서브쿼리) [3] jwko 2015.01.19 4030
» 프로시져 생성 질문 [where 필드 = @변수] 와 [where 필드 IS NULL] [4] 양아치베이비 2015.01.15 3058
8473 쿼리질문드립니다.. [1] SQL어렵.. 2015.01.15 2507
8472 mssql2000에서 mysql sp 실행하기 wassup 2015.01.15 2986
8471 SQL 2008 error 3707 [1] 땅훈 2015.01.15 3116
8470 건우아빠님~ㅠ 세로로 되있는걸 가로로 뿌리는 방법좀 알려주세요ㅠ [5] 뽀챙 2015.01.14 3175
8469 mssql2000 -> mysql 연결된 서버로 프로시저 실행 wassup 2015.01.14 3829
8468 varchar(max)문의 [1] 유리의성 2015.01.14 3461
8467 특정 데이터 베이스 권한 문의 드립니다. 나는짱이야 2015.01.13 2290
8466 서버간 테이블, SP 복제 [11] 하하하하하 2015.01.13 3106
8465 update 문의드립니다. [2] 예성파파 2015.01.13 2709
8464 각 부서의 팀장을 구하고 싶습니다. [1] 엠엔27 2015.01.13 2769





XE Login