
교재: 나의 첫 SQL수업
LEFT(문자열, n) 함수기능: 문자열 왼쪽에서부터 n개의 문자를 출력한다.
※ 자주 CAST()나 CONVERT()와 함께 날짜 자르기에 사용
예제:
결과:
SUBSTRING(문자열, 시작위치, 길이) 함수기능: 문자열 중간 n번째 자리부터 m개 문자를 추출한다.
※ MSSQL에서 위치(index)는 1부터 시작
예제:
결과:
CONCAT(문자열1, 문자열2, ...) 함수기능: 문자열과 문자열을 이어 붙여 하나의 문자열로 반환한다.
※ 숫자형도 문자열로 자동 변환되어 결합
예제:
결과:
REPLACE(문자열, 찾을값, 바꿀값) 함수기능: 문자열에서 특정 문자를 찾아 다른 문자로 변경한다.
※ 대소문자를 구분하며, 모든 일치 항목을 바꿈
예제:
결과:
ISNULL(표현식, 대체값) 함수기능: NULL 값을 다른 값으로 대체한다.
※ 첫 번째 인자가 NULL일 경우 두 번째 인자를 반환
예제:
결과:
CHARINDEX(찾을문자, 대상문자열, 시작위치) 함수기능: 찾고 싶은 문자를 문자열에서 찾아 인덱스(위치)를 반환한다.
※ 첫 번째 인자가 NULL일 경우 두 번째 인자를 반환
예제:
결과:
ABS(숫자) 함수기능: 숫자의 절대값을 출력한다.
※ 음수를 양수로 바꾸거나, 수의 크기만 필요할 때 사용합니다.
예제:
결과:
CEILING(숫자) 함수기능: 숫자를 올림하여 정수 자리까지 출력한다.
예제:
결과:
ROUND(숫자, 소수점자리) 함수기능: 숫자를 반올림하여 지정한 소수점 자리까지 출력한다.
예제:
결과:
GETDATE() 함수기능: 현재 원하는 날짜 및 시간을 출력한다.
※ 현재 날짜와 시간을 반환, 서버 시간 기준
예제:
결과:
DATEADD(단위, 수, 날짜) 함수기능: 특정 날짜에서 기간 및 시간(연, 월, 일 등)을 더한다.
예제:
결과:
DATEDIFF(단위, 날짜1, 날짜2) 함수기능: 두 날짜 사이의 기간 및 시간 차이를 출력한다.
예제:
결과:
RANK() 함수기능: 동일한 값에는 동일한 순위를 부여하고, 그 다음 순위는 건너뛴다 (순위에 공백이 생김).
DENSE_RANK() 함수기능: 동일한 값에는 동일한 순위를 부여하지만, 다음 순위를 건너뛰지 않는다 (순위에 공백 없음).
ROW_NUMBER() 함수기능: 동일한 값이어도 각 행마다 고유한 순번(번호)을 부여한다.
예제:
결과:
PARTITION BY 문기능: 집계 함수나 순위 함수에서 데이터를 특정 기준으로 그룹화하여 각 그룹 내에서 연산을 수행할 수 있도록 한다.
※ OVER (PARTITION BY ...) 구문은 RANK(), ROW_NUMBER(), SUM() 등 윈도우 함수와 함께 사용.
예제:
결과: