SQL/SQL 기본

SQL 기본(10): 날짜, 집계, 수학 함수

민서타 2023. 10. 1. 00:27

1. GENDATE, SYSDATETIME, DATEADD, DATEDIFF, DATEPART, DATENAME

GETDATE() 현재 접속중인 데이터 베이스 서버의 시간을 소수점 3자리 까지 시간을 반환
SYSDATETIME() 현재 접속중인 서버의 시간을 소수점 7자리까지 시간을 반환
UTC: 세계 협정 시간 / GETUTCADATE: 현재 접속중인 서버의 UTC 시간을 소수점 3자리 / SYSUTCDATETIME: 소수점7자리~
DATEADD( datepart, num, date) # 날짜를 더하거나 빼기, year, quarter, day 등 날짜형식 사용 가능
DATEDIFF (datepart, startdate, enddate) # 두 날짜의 차이, 차이가 큰 숫자일 때에는 DATEDIFF_BIG을 사용
DATEPART (datepart, date) # 현재 요일의 숫자를 반환
DATENAME (datepart, date) # 현재 요일의 이름 반환

2. COUNT, SUM, ROLLUP, CUBE, STEDV, STEDVP

COUNT([[ALL OR DISTINCT[ exp]), COUNT_BIG #그룹의 항목 수 반환(BIG은 데이터가 21억개 초과할 시)
SUM ([[ALL OR DISTINCT[ exp]) #합계 함수, bigint, decimal, money, float 외 int반환, CAST를 통한 bigint변환으로 오류극복
MIN ([[ALL OR DISTINCT[ exp]) #최솟값, OVER절 뒤에 사용 가능 OVER ([partion_by_clause])
GROUP BY ROLLUP(col1, col2, ...) #각각의 부분합, 총계를 구해주는 함수
GROUP BY CUBE(col1, col2, ...)  #가능한 모든 열 조합에 대한 그룹 생성, 집계 그룹 결과
STEDV, STEDVP() #전체집단에 대한 표준편차 / 모집단에 대한 표준편차, 집계쿼리화 하위쿼리 사용불가, NULL값 무시

3. ABS, SIGN, CEILING, FLOOR, ROUND, LOG, EXP, POWER, SQUARE, SQRT, RAND, ETC...

ABS() #절대값 반환, 자료형 범위가 넘으면 오버플로우 발생
SIGN() #양수는 1, 음수는 -1, 0은 0으로 반환
CEILING() #지정한 숫자보다 크거나 같은 최소 정수를 반환
FLOOR() #지정한 숫자보다 작거나 같은 최대 정수를 반환
ROUND(numeric_exp, length[, func]) #전체 자릿수로 반올림한 숫자값을 반환 func: 양수는 소수부, 음수는 정수부 반올림
LOG(float_exp, [, base]) #로그값 반환, base: 밑, 기본값은 e
EXP(float_exp) # e의 n 제곱값
POWER(N, n), SQUARE(N) # 거듭제곱, 제곱값 반환
SQRT() #입력값의 제곱근
RAND() #0~1 사이의 베타적 의사 난수 실수값을 반환

 

반응형