일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- .NET Core Proxy
- Visual Studio 2015 설치
- vue3
- Vue3 configureWebpack
- Visual Studio 2015 삭제
- 업무 자동화
- 디자인 패턴 사례
- SQLP
- 리버스 프록시 예제
- MSSQL 동적 쿼리
- Visual Studio 2015 강제 삭제
- Vue.config
- Selenium 설치
- Visual Studio 강제 삭제
- javascript
- Visual Studio 패키지에 실패했습니다.
- Selenium 환경
- vue.js
- Tomcat Error
- 웹 크롤링
- 웹 자동화
- MSSQL 문자열
- Visual Studio 재설치
- Nginx Reverse Proxy
- tomcat
- vue
- 프록시 예제
- .NET Core
- Vue configureWebpack
- spring
- Today
- Total
목록Database/SQL Server(MSSQL) (21)
금백조의 개발 블로그
[세 자리 콤마 처리] DECLARE @NUM NCHAR(06) SET @NUM = '20000' SELECT @NUM [BEFORE], FORMAT(CONVERT(NUMERIC,@NUM), N'#,0') [AFTER] [실행 결과] [해석] 문자열 숫자를 NUMERIC으로 변환 후 FORMAT 함수를 이용하여 세 자리 콤마 숫자 문자열 반환 [세 자리 콤마 삭제] DECLARE @NUM NCHAR(06) SET @NUM = '20,000' SELECT @NUM [BEFORE], CASE WHEN ISNUMERIC(@NUM)=1 THEN PARSE(@NUM AS decimal) ELSE @NUM END [AFTER] [실행 결과] [해석] ISNUMERIC으로 문자열이 숫자인지 판단(맞으면 1, 틀리면 ..
서론 회사에서 개발을 하면서 프로시저로 많은 비즈니스 로직을 구현했습니다. 그동안 프로시저를 사용해본 경험을 기반으로 장단점, 사용 예시에 대해 정리해볼까 합니다. 장단점 같은 경우는 네이버 기술 블로그 중 [백엔드 개발자를 꿈꾸는 학생개발자에게] 글에서 설명하는 내용을 참고하여 공감되는 부분 위주로 작성했습니다. (아래 링크 참고) 본론 저장 프로시저의 장점 1) 프로시저만 수정이 필요할 경우 애플리케이션을 배포하지 않고 프로시저만 배포하면 됩니다. → 즉 어플리케이션 코드 내에 SQL 로직이 포함되었을 경우 애플리케이션도 재배포 해야하지만 프로시저 내에 포함될 경우 프로시저만 수정하여 배포하면 됩니다. 2) 자연스럽게 프로시저에 인자를 추가하여 바인드 변수를 사용하게 되므로 SQL 하드 파싱을 걱정할..
서론 데이터를 집계할 때 특정 데이터를 제외하고 집계를 해야 할 경우가 있습니다. 특히 AVG를 사용한 평균 집계인 경우 0을 제외하거나 NULL을 포함하여 평균을 구해달라는 요구사항을 종종 요청받을 때가 있습니다. 오늘은 이에 대한 내용을 포스팅하겠습니다. 본론 집계함수는 NULL 데이터를 제외하고 집계를 수행합니다. 따라서 아래 예시와 같이 CASE문을 사용하여 제외시킬 데이터를 NULL로 변환시키면 이를 제외하고 집계를 수행하게 됩니다. [예제] --테스트할 임시테이블 및 데이터 생성 SELECT 'ALICE' [NAME], 100 [SCORE] INTO #TEMP_TABLE UNION ALL SELECT 'BOB' , 0 UNION ALL SELECT 'SAM' , 30 UNION ALL SELE..
서론 FOR XML PATH와 STUFF를 이용하여 행 문자열들을 하나의 문자로 합치고 각 문자 사이에 개행 문자를 추가하려는 중 개행 문자 일부인 CHAR(13) 문자열이 문자열로 변환되는 현상이 나타났습니다. 이를 문자열 치환을 통해 해결한 방법을 소개하려 합니다. 실행환경 MSSQL 13.0 - CHAR(13) 문자열이 로 바뀌는 현상 발생 MSSQL 15.0 - CHAR(13) 문자열이 로 바뀌는 현상 발생하지 않음. 정상 작동 확인 본론 [상황] FOR XML PATH, STUFF를 이용하여 문자열 합치기를 수행 중 CHAR(13) 문자열이 문자열로 변환됨. SELECT STUFF((SELECT ',' + EMP_NO+'('+EMP_NM+')' FROM( SELECT 'E0001' EMP_NO,..
서론 개발 요구 사항 중 기준일자 별로 변경된 품목의 설계서를 비교해야 하는 요구 사항이 있었습니다. 예를 들어 A품목이 있다면 2021-01-01 일자의 A품목의 부품은 B1, B2, C1이었는데 2021-07-17 일자의 A품목 부품은 B1, B3, C3로 변경될 수 있습니다. 이 경우 아래와 같이 부품의 순서는 유지하면서 추가, 삭제된 부품엔 빈 행을 추가하여 데이터를 조회해야 했습니다. 저는 두 데이터를 비교하여 빈행을 추가시키기 위해 FULL OUTER JOIN을 사용하여 해결했습니다. 따라서 이번 포스팅에서는 위 과정 속에서 알게된 FULL OUTER JOIN의 개념과 예제에 대해 정리해보겠습니다. 본론 [구문 형식] SELECT ... FROM T1 FULL OUTER JOIN T2 ON T..
서론 분석 함수(윈도우 함수)에 대한 정리를 언젠가 한번 하고 싶었는데 기억하고 있던 개념이 점차 흐려진 듯하여 이를 계기로 정리하게 되었습니다. 본론 [구문 형식] SELECT [분석함수] OVER ( [ PARTITION BY 파티션 컬럼 리스트] [ ORDER BY 정렬 컬럼 리스트] [ROWS|RANGE BETWEEN]) [특징] GROUP마다 단일 행을 반환하는 집계 함수와는 달리 분석함수는 전체 결과 집합(분석을 수행하기 전의 집합)의 각 행마다 집계 결과를 보여줍니다. [문법 정리] OVER 분석함수임을 나타내는 단어입니다. 아래와 같은 분석함수의 옵션을 지정해줄 수 있습니다. PARTITION BY 집계할 분석 대상들을 그룹화합니다. 지정하지 않을 경우 전체 결과 집합의 모든 행을 하나의 ..
서론 비즈니스 로직을 구현하다 보면 복잡하게 데이터를 조회하기 이전에 이전 행, 다음 행을 조회하면 간단히 문제가 해결되는 경우가 종종 있습니다. 따라서 오늘은 그 내용을 정리하기 위해 LAD, LEAD 함수를 이용하여 이전 행, 다음 행을 조회하는 방법에 대해 알아보겠습니다. 본론 [구문 형식] LAG - 이전행 조회 SELECT LAG([대상 컬럼], [이전 offset], [기본값]) OVER (PARTITION BY [..] ORDER BY [..]) LEAD - 다음행 조회 SELECT LEAD([대상 컬럼], [다음 offset], [기본값]) OVER (PARTITION BY [..] ORDER BY [..]) [특징] 1. 이전, 다음 행의 데이터가 없으면 [기본값]이 반환됩니다. 2. 파..
[장점] 쿼리 입력이 필요없이 단축키만으로 원하는 쿼리를 실행시킬 수 있어 업무 효율을 높일 수 있습니다. [설정 방법] 1.SSMS 메뉴 상단 창에서 도구 > 옵션 선택 2.옵션창에서 환경 > 키보드 > 쿼리 바로 가기 선택하여 원하는 쿼리 바로 가기 입력 후 확인 위와 같이 설정한 경우 조회를 원하는 테이블을 더블클릭하여 Ctrl + 3을 누르면 테이블을 단축키만으로 조회할 수 있습니다. (아래 실행 화면)