@@TEXTSIZE : textsize의 현재 값을 반환
예시)
select @@textsize
>> 4096 (default 값)
set TEXTSIZE 2048
select @@textsize
>> 2048
@@ DATEFIRST : 설정된 datefirst 값을 반환
예시)
set datefirst 3
go
select @@datefirst -- 3 (wednesday)
go
set datefirst 2 -- 화요일이 기준
select @@datefirst as 'first day',
datepart(dw, sysdatetime()) as 'today'
go
출력

오늘은 화요일 >> today = 1
@@SERVERNAME : SQL을 사용중인 local server의 이름을 반환
예시)
select @@servername as 'Server Name'
출력
@@VERSION : SQL server 버전을 반환
예시)
select @@version as ' SQL Server Version'
출력
GETDATE() : SQL서버의 현재 날짜를 datetime타입으로 반환
예시)
select GETDATE() as 'date'
출력
GETUTCDATE() : SQL서버의 현재 날짜를 반환 ( datetime 타입 아님)
예시)
select GETUTCDATE()
출력
DATEDIFF(datepart, startdate, enddate) : enddate와 startdate 사이의 차이를 입력한 datepart 단위로 반환
datepart : yy(year), mm(month), dd(day), dy(dayofyear), wk(week), hh(hour), mi(minute), ss(second) 등
예시)
SELECT DATEDIFF(year, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
SELECT DATEDIFF(quarter, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
SELECT DATEDIFF(month, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
SELECT DATEDIFF(dayofyear, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
SELECT DATEDIFF(day, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
SELECT DATEDIFF(week, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
SELECT DATEDIFF(hour, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
SELECT DATEDIFF(minute, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
SELECT DATEDIFF(second, '2005-12-31 23:59:59.9999999', '2007-01-01 00:00:00.0000000');
출력
DATEADD(datepart, number, date) : date의 datepart부분에 number를 더한 날짜를 반환
예시)
select DATEADD(year, 3, '20060830')
select DATEADD(month, 3, '20060831')
출력
CONVERT(dataType, 변경대상, [변경형태]) : 대상의 타입을 변경한다.
날짜를 추출하는 함수
DATENAME(datepart, date) : date에서 datapart 부분을 nvarchar타입으로 반환
DATEPART(datepart, date) : date에서 datapart 부분을 int타입으로 반환
DAY(date) : date에서 day를 int타입으로 반환
MONTH(date) : date에서 month를 int타입으로 반환
YEAR(date) : date에서 year를 int타입으로 반환
Mathematical Funcions : input값을 받아서 계산하고 숫자를 반환
ABS(number) : number의 절댓값을 반환
RAND([seed]) : 0~1 사이의 랜덤값을 반환
ROUND(number, n) : number의 소수점 n번째 자리까지 표현, n에 음수도 넣을 수 있다.
CEILING(n) : n보다 크거나 같은 최소 정수 반환
FLOOR(n) : n보다 작거나 같은 최대 정수를 반환
SIGN(n) : n이 양수이면 1, 0이면 0, 음수이면 -1을 반환
SQRT(n) : n의 제곱근을 반환
SQUARE(n) : n의 제곱을 반환
String Function
SUBSTRING(str, position, n) : str에서 position 위치에서부터 n개의 문자열을 반환
예시)
declare @string char(8), @position int
set @string = 'Moon'
set @position = 1
print substring(@string, @position,2)
출력
>> Mo
CHARINDEX(str1, str2) : str2에서 str1의 위치를 찾아 반환
예시)
declare @document varchar(64)
set @document = 'abc def ghi jkl nmo'
print charindex('ghi',@document)
출력
>> 9
CONCAT(str1, str2,...) : 입력받은 문자열을 합친 문자열을 반환
예시)
declare @document varchar(64)
set @document = 'abc def ghi jkl nmo'
set @document = concat(@document, 'aaaaa')
print @document
출력
>> abc def ghi jkl nmoaaaaa
CONCAT_WS(string, str1, str2, str3,...) : str1, str2, str3 사이에 입력받은 string을 넣고 합친 문자열을 반환
예시)
print concat_ws('-','010','1234','5678')
출력
>> 010-1234-5678
LEFT(str, n) : 입력받은 str의 왼쪽부터 n개의 문자를 반환
예시)
print left('abcdefg',2)
출력
>> ab
LTRIM(str) : 문자열의 왼쪽 공백을 삭제
예시)
declare @space_str varchar(40)
set @space_str = ' aaabbb'
print @space_str
print LTRIM(@space_str)
출력
aaabbb
aaabbb
PATINDEX( '%pattern%', str ) : str안에서 pattern을 찾고 위치를 반환
예시)
print PATINDEX('%cde%','abcdefg')
출력
>> 3
REPLACE(str1, str2, str3) : str1에서 str2를 찾아서 str3로 교체 후 반환
예시)
print REPLACE('abcdefabcdefabc','abc','OOO')
출력
>> OOOdefOOOdefOOO
REPLICATE(str, n) : str을 n번 반복한 문자열을 반환
예시)
print REPLICATE('ABC',5)
출력
>> ABCABCABCABCABC
STRING_SPLIT(str, seperator) : str을 seperator로 나눈 여러개의 문자열 반환
예시)
declare @str varchar(40)
set @str = 'aaa,bbb,ccc,ddd'
select *
from string_split(@str,',')
출력
STUFF(str1, n, m, str2) : str1에서 n번째 위치부터 m개의 문자를 삭제하고 str2를 삽입한 후 반환
예시)
print STUFF('abcdefghijk',3,4,'xxxx')
출력
>> abxxxxghijk
ASCII(c) : 문자 c의 아스키코드를 반환
CHAR(n) : 아스키코드 n번의 문자를 반환
LOWER(str) : str을 소문자로 반환
UPPER(str) : str을 대문자로 반환
UNICODE(c) : 문자 c의 유니코드를 반환
REVERSE(str) : str을 뒤집어서 반환
RTRIM(str) : 문자열의 오른쪽 공백을 삭제
'백엔드 > SQL' 카테고리의 다른 글
[SQL] Begin ... END (0) | 2021.12.01 |
---|---|
[SQL] 주석 달기 (0) | 2021.12.01 |
[SQL] Batch와 Go (0) | 2021.12.01 |
[SQL] 변수 선언과 할당 (0) | 2021.12.01 |
[SQL] (1 rows affected) 안 보이게 하기 (1) | 2021.12.01 |
댓글