MS SQL CASE 문

Joseph·2024년 1월 11일

Nestjs를 사용해서 백엔드 코드를 작성하면서, 데이터 처리를 javascript로 할지, sql 쿼리 프로시저로 처리할지에 대한 선택지가 생긴다.

두 가지 방법 다 작성해 보았다.

javascript 에서 데이터를 정제할 경우

           const refinedBuyModel = buyModel.map((model) => {
                    if (model.BrandCode === 'JUR') {
                      // 브랜드가 '유라'면 우선순위가 1위
                      return { ...model, BrandOrder: 1 };
                    } else if (model.BrandCode === 'CAS') {
                      // 브랜드가 '까소디자인'이면 우선순위가 2위
                      return { ...model, BrandOrder: 2 };
                    } else if (model.BrandCode === 'BRE') {
                      // 브랜드가 '브래빌'이면 우선순위가 3위
                      return { ...model, BrandOrder: 3 };
                    } else {
                      // 브랜드가 없으면 우선순위가 4위
                      return { ...model, BrandOrder: 4 };
                    }
                  });

SQL 쿼리 내에서 정제할 경우

     (CASE WHEN BM.BrandCode = 'JUR' THEN 1
           WHEN BM.BrandCode = 'CAS' THEN 2
           WHEN BM.BrandCode = 'BRE' THEN 3                           
           ELSE 4 END) AS [BrandOrder]

SQL 쿼리가 훨씬 간결하게 표현되는 것 같다.

profile
안녕하세요 프론트와 백 둘다 관심있는 웹개발자 이창무입니다.

0개의 댓글