MSSQL

ALL

MSSQL 문자열에서 숫자 또는 문자만 추출 REPLACE, PATINDEX 사용 방법

SQL Server에서 데이터 값에 문자와 숫자가 같이 있는 경우 숫자 또는문자만 추출하고 싶은 경우가 있습니다. TRANSLATE 함수를 사용하여 추출할 수도 있지만 SQL Server 2017부터 사용 가능한 함수입니다. TRANSLATE 함수를 사용 못하는 경우에 숫자나 문자만 추출하는 방법을 알아보겠습니다. 사용할 함수는 REPLACE와 PATINDEX입니다. 우선 REPLACE와 PATINDEX 함수가 어떤 것인지 간단하게 살펴보겠습니다. REPLACE 지정한 문자열의 값을 다른 문자열로 변환. PATINDEX 패턴과 매칭...
ALL

MSSQL 모든 테이블 사용 용량 확인 방법

데이터 베이스를 사용하다 보면 서버 용량이 부족해지는 경우가 생깁니다. 어느 테이블이 디스트 용량을 많이 사용하고 있는지 확인을 해서 방법을 찾아야 하는 경우가 있습니다. 이번 포스팅에서는 Sql Server에서 모든 테이블의 사용 용량을 확인하는 쿼리를 알아보도록 하겠습니다. 테이블 사이즈 취득 방법 테이블이 사용하고 있는 디스크 사용용량을 간단히 취득하는 방법으로 sp_spaceused 사용해 확인할 수 있습니다. sp_spaceused는 스토어드 프로시저입니다. 사용방법 EXEC sp_spaceused 디비명.테이블명; 예를 ...
ALL

MSSQL 중복 레코드 검색 방법 GROUP BY 예제

중복 하는 레코드를 제거할때 많이 사용 하는 것이 DISTINCT입니다. DISTINCT는 중복 하는 레코드를 제거하고 표시 하기 때문에 중복인지 아닌지 바로 판단하기가 어렵습니다. GROUP BY를 사용하면 중복 하는 레코드를 제거 할 수도 있지만 어떤 레코드 값이 중복하는 확인도 할 수 있습니다. 여러가지 상황을 예제로 보도록 하겠습니다. 중복데이터 취득 GROUP BY와 HAVING을 같이 사용해 중복하는 데이터만 추출 할 수 있습니다. 샘플을 보도록 하겠습니다. 컬럼A가 중복되는 데이터 취득 SELECT 컬럼A FROM 테이...
ALL

MSSQL 실행한 SQL 쿼리 이력을 확인하는 방법

SQL Server에서 실행했던 쿼리 이력을 확인 하고 싶은 경우가 있습니다. 에러 조사를 위해서라던가 성능 향상을 위해 쿼리를 확인 해야 하는등 여러 경우가 발생 합니다. 쿼리 이력을 확인 하는 방법을 바로 알아보겠니다. 아래는 SQL Server에서 실행했던 쿼리 이력을 확인하는 쿼리문 입니다. SQL Server 쿼리 이력 확인 SELECT TOP 1000 QS.creation_time,  --SQL SUBSTRING(ST.text,(QS.statement_start_offset/2)+1,  ((CASE QS.statement...
ALL

MSSQL 숫자 소수점 또는 정수 부분 버림 ROUND 사용 방법

SQL Server에서 숫자의 소수점 또는 정수 부분을 반올림해야 하는 경우가 있습니다. SQL Server에는 숫자를 반올림해주는 함수가 준비되어 있습니다. ROUND(숫자) ROUND 함수는 기본적으로 소수점을 반올림 하지만 정수도 반올림을 할 수 있습니다. 우선 소수점을 반올림하는 방법을 살펴보겠습니다. 라운드 함수는 다음과 같이 사용합니다. ROUND(숫자) 파라미터를 하나만 지정한 경우에는 지정한 소수점을 반올림한 정수를 반환합니다. -- 숫자 10.9 반올림 SELECT ROUND(10.9); 결과 11 10.9 에서 소...
ALL

MSSQL 문자열 자르기 SUBSTRING 사용 방법

문자열에서 부분적으로 문자를 취득하는 방법을 알아보겠습니다. 문자열에서 원하는 문자를 취득하기 위해서는 문자열 잘라주는 함수를 사용합니다. 오라클에서는 SUBSTR 함수를 SQL Server에서는 SUBSTRING 함수를 사용합니다. SUBSTRING 사용 방법 문자열을 잘라주는 SUBSTRING 함수 사용 방법을 보겠습니다. SUBSTRING(str, n, m) str - 문자열 n - 시작 m - 취득 하고 싶은 문자 갯수 지정한 문자 str에서 n번째부터 m문자수를 추출합니다. 문자수 m은 생략 가능합니다. 생략할 경우 n번째...
ALL

MSSQL NULL과 공백문자 또는 0의 주의점

MSSQL를 사용하면서 자주 발생하는 버그 중 하나가 NULL과 공백문자에서 발생하게 됩니다. 또는 숫자 0에서도 발생하는 경우도 있습니다. MSSQL에서는 오라클과 다르게 NULL과 공백문자를 따로 취급하기 때문입니다. 오라클에서는 값을 입력하기 않거나 공백문자인 '' 만을 입력했을 경우 NULL로 인식합니다. 하지만 MSSQL에서는 값을 입력하지 않을 경우에는 NULL, 공백문자인 '' 입력한 경우에는 NULL이 아닌 ''로 등록됩니다. 이렇게 NULL과 공백문자인 ''를 따로 취급하기 때문에 SELECT로 데이터를 취득한 후 ...
ALL

MSSQL CASE 조건문 사용 방법 및 예제 샘플

조건문이란 평소 사용하는 프로그램 언어로 말하면 if문이 대표적입니다. SQL에서도 조건문을 사용할 수 있습니다. CASE 문법 CASE 문법에는 단순 CASE 문과 검색 CASE 문이 있습니다. 단순 CASE문은 값이 참인가 거짓인가만을 구별합니다. 쿼리를 심플하게 작성할 수 있습니다. 검색 CASE문은 단순 CASE문보다 여러 가지 응용을 하기 편리합니다. 저 또한 여러 가지 복잡한 조건문을 작성할 때에는 검색 CASE문을 사용하지만 가능하면 가독성이 좋고 심플한 단순 CASE문을 사용하려고 합니다. 단순 CASE문과 검색 CA...