ALL

ALL

MSSQL 테이블 작성 인덱스 생성 하기

SQL Server 테이블에 인덱스(INDEX)를 추가하는 방법을 보겠습니다.테이블을 만드는 CREATE에 추가해 테이블 생성할 때인덱스를 같이 설정하는 방법과 이미 만들어진 테이블에 인덱스를 추가하는 방법을 보겠습니다.인덱스 설정 하기인덱스를 작성하는 쿼리문은CREATE INDEX ~ON ~을 사용합니다.기존에 생성된 테이블에 인덱스를 추가하는 방법은 아래 쿼리문은 다음과 같습니다.-- 클러스터 인덱스 작성CREATE CLUSTERED INDEX '인덱스 이름' ON '테이블 이름' ('컬럼 이름');-- 넌클러스터 인덱스 작성C...
ALL

MSSQL RANK와 DENSE_RANK 랭크 함수 차이 예제

SQL Server에서 순위를 설정하는 함수로 RANK가 있습니다.비슷한 함수로 DENSE_RANK도 있습니다.두 함수의 사용법은 비슷하지만 결과가 조금 다른 경우가 있습니다.예제를 통해서 결과가 어떻게 다른지 확인하겠습니다.RANK와 DENSE_RANK 차이두 함수의 차이를 확인하기 전에 테스트 데이터를 만들겠습니다.데이터는 앞서 설명한RANK 함수에서 사용한 데이터를 가지고 하겠습니다.테이블 생성 및 데이터 등록은 RANK 함수의 데이터 등록을 참조해주세요.RANK 사용 예제-- 학생 성적을 기준으로 순위 취득SELECT RAN...
ALL

MSSQL ROW_NUMBER로 성적 순위 설정 방법 예제

데이터에 번호를 설정하는 방법으로 ROW_NUMBER를 많이 사용합니다.순위를 설정하는 방법으로 RANK 함수를 사용할 수도 있지만, ROW_NUMBER를 사용해 순위를 설정할 수도 있습니다.성적 순서가 높은 순서대로 ROW_NUMBER를 사용해 순위를 설정하는 방법을 보겠습니다.먼저 테스트 데이블과 데이터를 만들겠습니다.테스트 데이터 만들기랭크 예제는 성적 테이블을 만들어 사용하도록 하겠습니다.데이블 생성-- 성적 테이블 작성CREATE TABLE STUDENT_GRADE( STUDENT_ID int NOT NULL, STUDEN...
ALL

MSSQL 성적 순위 설정 RANK 사용 방법 예제

SQL Server에서 RANK 함수를 사용하는 방법을 알아보겠습니다.RANK 함수를 사용해 상위 몇 위까지만 출력하는 예제도 보겠습니다.데이터를 취득하기 위해 먼저 예제 테이블과 데이터를 준비하겠습니다.테스트 데이터 만들기랭크 예제는 성적 테이블을 만들어 사용하도록 하겠습니다.데이블 생성-- 성적 테이블 작성CREATE TABLE STUDENT_GRADE( STUDENT_ID int NOT NULL, STUDENT_NAME nvarchar(20) NOT NULL, SCORE int NOT NULL, CONSTRAINT PRIMAR...
ALL

MSSQL 만나이 계산하기 DATEDIFF 사용 예제

현재 나이를 계산해야 하거나 지정한 날짜를 기준으로 나이를 계산하고 싶은 경우가 있습니다.나이 계산은 DATEDIFF 함수를 사용해 간단하게 할 수 있습니다.DATEDIFF 함수는 두 개의 날짜를 비교해 일수를 구하는 함수입니다.만나이 계산하기나이를 구하는 방법을 보겠습니다.만나이 계산 예제-- 생년월일DECLARE @BIRTHDAY DATE = '1979-03-17';-- 나이를 알고 싶은 날짜DECLARE @DATE DATE = GETDATE();-- 년수 계산DECLARE @AGE INT = (SELECT DATEDIFF(YE...
ALL

MSSQL 현재 시간 취득하는 여러 가지 방법

SQL Server에서 현재 시간을 취득하는 함수는 여러 가지가 존재합니다.그중에서도 많이 사용하는 몇 가지 방법을 보겠습니다.현재 시간 취득많이 사용하는 방법으로는 CURRENT_TIMESTAMP, GETUTCDATE(), GETDATE()가 있습니다.예제SELECT CURRENT_TIMESTAMP AS RS_CURRENT_TIMESTAMPSELECT GETUTCDATE() AS RS_GETUTCDATESELECT GETDATE() AS RS_GETDATE결과결과값은 모두 동일하며 데이터 타입은datetime입니다.CURRENT_...
ALL

MSSQL NULL값 변환 NVL, ISNULL, CASE 사용 방법 예제

SQL Server에서 Null 값을 다른 값으로 변화하는 방법이 몇 가지 있습니다.대표적인 방법으로 ISNULL과 CASE을 사용합니다.SQL Server에는 NVL이 없습니다.NVL은 오라클에만 있는 함수입니다.ISNULL 사용 방법ISNULL(값, 변환 문자)값- NULL인지 체크하고 싶은 값.변환 문자- 값이 NULL인 경우 변환하고 싶은 문자.ISNULL 함수에는 두 개의 파라미터를 지정합니다.첫 번째 파라미터는 값이 NULL 인지 체크하고 싶은 컬럼이나 변수를 지정합니다.두 번째 파라미터에는 체크한 값이 NULL인 경우 ...
ALL

MSSQL 공백값과 NULL값 동시에 체크 하는 방법

SQL Server에서는 오라클과 다르게 NULL 값과 공백값을 다르게 취급합니다.오라클의 경우에는 NULL과 공백값을 같은 값으로 취급하지만, SQL Server의 경우에는 NULL 값은 NULL, 공백은 공백으로 NULL이 아닌 값으로 취급합니다.공백값과 NULL값SQL Server 예제를 보도록 하겠습니다.DECLARE @nullTest1 VARCHAR(20);DECLARE @nullTest2 VARCHAR(20) = '';SELECT ISNULL(@nullTest1,'no data') AS nullTest1SELECT ISN...
ALL

MSSQL 앞에 숫자0 채우기 FORMAT 사용

쿼리를 이용하여 데이터를 표시하는 경우 자리수를 맞춰서 표시해야 하거나 값을 넣을 때에 자리수를 맞춰서 넣고 싶은 경우 앞에 0을 채워서 표시하거나 저장하거나 합니다.SQLServer에는 자리수를 채워주는 LPAD와 RPAD가 없기 때문에 직접 만들어야 합니다.SQLServer에서 앞에 0을 채우는 방법으로 가장 많이 사용하는 방법은 RIGHT 함수를 이용하는 것이 아닌가 합니다.SQLServer 12 이후 부터는 FORMAT 사용해서도 0을 채울수 있습니다.RIGHT를 사용해서 0을 채우는 방법과 FORMAT 사용하는 방법을 예제...