반응형

Database 81

SQL Server - DateTime vs DateTime2 차이, 비교

속성 DateTime DateTime2 날짜 범위 January 1, 1753, 부터 December 31, 9999 January 1, 0001, 부터 December 31, 9999 시간 범위 00:00:00 부터 23:59:59.997 00:00:00 부터 23:59:59.9999999 정확도 3.33 밀리초 100 나노초 ㄷㄷ 크기 8 바이트 6에서 8바이트 (Precision에 따라 다름) 기본 값 1900-01-01 00:00:00 1900-01-01 00:00:00 DateTime2가 DateTime보다 더 큰 날짜 범위를 가지고 있다. 그리고 더 정확하다. 그래서 DateTime2를 쓰는 것이 장려된다. DateTime이 쓰이는 오직 한가지의 이유는 이전 버전들과의 호환성 때문이다.

Database/SQL Server 2020.12.19

SQL Server - DateTime2FromParts 함수

DateTime2FromParts function - 2012년도에 소개 되었다. - DateTime2를 리턴한다. - 모든 매개변수의 데이터 타입은 정수이다. - 만약 유효하지 않은 인자를 지정하였을 때, 에러가 발생함 - 만약 필수 인자 자리에 NULL값이 들어갔다면 NULL이 리턴됨 - 만약 precision 인자에 NULL이 들어간다면 에러가 발생함 Syntax : DATETIME2FROMPARTS(year, month, day, hour, minute, seconds, fractions, precision) Example : SELECT DATETIME2FROMPARTS (2015, 11, 15, 20, 55, 55, 0, 0) AS [DATETIME2] --expected result : 20..

Database/SQL Server 2020.12.19

SQL Server - EOMONTH, DATEFROMPARTS 함수

EOMONTH function - 2012년에 소개 되었다. - 그 달의 마지막 날짜를 구해준다. Syntax : EOMONTH (start_date , [month_to_add]) Parameter Description Start_date The date for which to return the last day of the month month_to_add Optional. Number of months to add to the start_date. EOMONTH adds the specified number of months to start_date, and then returns the last day of the month for the resulting date. Example : Return..

Database/SQL Server 2020.12.19

SQL Server - 데이터 변환 함수 TRY PARSE, TRY CONVERT

TRY_PARSE function - 2012년에 소개 되었다. - 문자열을 날짜/시간 이나 숫자 형식으로 변환시킴. - 만약 변환되어질 수 없다면 NULL값이 리턴된다. Syntax : TRY_PARSE (string_value AS data_type) Example : SELECT TRY_PARSE('99' AS INT) AS Result --True SELECT TRY_PARSE('ABC' AS INT) AS Result --False TRY_CONVERT function - 2012년에 소개 되었다. - 주어진 값을 특정 데이터 타입으로 변환시킨다. - 만약 변환되지 않는 값이면 NULL을 리턴한다. Syntax : TRY_CONVERT (data_type, value, [style]) 여기서 스..

Database/SQL Server 2020.12.19

SQL Server - IIF 함수

IIF 함수 - 2012년에 소개된 함수이다. - Boolean 식의 의하여 참인지 거짓인지에 따라 두개의 값중 하나를 리턴한다. Returns one of two the values, depending on whether the Boolean expression evaluates to ture or false. - IIF 는 CASE 식의 축소버전이다. Syntax : IIF ( boolean_expression, true_value, false_value) Example : Declare @GenderId INT SET @GenderId = 1 SELECT IIF(@GenderId = 1 , 'Male' , 'Female') AS Gender

Database/SQL Server 2020.12.19

SQL Server - Choose 함수

Choose 함수 - 2012년도에 소개 되었다. - 사용 가능한 값 리스트에서 지정된 인덱스의 항목을 리턴. Returns the item at the specified index from the list of available values. - 인덱스 시작 위치는 0이 아닌 1이다. - 사용 가능한 리스트에 없는 값을 불러오면 NULL값이 리턴. Syntax : CHOOSE ( index, val_1, val_2, ...) Example : SELECT Name, DateOfBirth, CHOOSE(DATEPART(MM, DateOfBirth), 'JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC') AS [Month] FRO..

Database/SQL Server 2020.12.19

SQL Server - UNPIVOT 언피벗

PIVOT 연산자는 행을 열로 바꾸고 UNPIVOT은 반대로 열을 행으로 바꾼다!! PIVOT operator turns ROWS into COLUMNS, where as UNPIVOT turns COLUMNS into ROWS. SELECT SalesAgent, Country, SaleAmount FROM tblProductSales UNPIVOT ( SalesAmount FOR Country IN (India, US, UK) ) AS UnPivotExample SELECT SalesAgent, Country, SalesAmount FROM (SELECT SalesAgent, India, US FROM tblProductSales PIVOT ( SUM(SalesAmount) FOR Country IN ..

Database/SQL Server 2020.12.19

SQL Server - 분석 함수 Window functions

윈도우 함수 내의 여러 갈래 - 집계 함수 : AVG, SUM, COUNT, MIN, MAX etc.. - 순위 함수 : RANK, DENSE_RANK, ROW_NUMBER etc.. - 분석 함수 : LEAD, LAG, FIRST_VALUE, LAST_VALUE etc... OVER절은 함수들이 적용될 행의 분할이나 순서를 담당한다. 따라서 이러한 기능들을 Window functions 이라고 한다. OVER Clause는 세가지 인수를 허용한다. OVER clause defines the partitioning and ordering of rows(i.OVER clause defines the partitioning and ordering of rows(i.e a window) for the abov..

Database/SQL Server 2020.12.18

SQL Server - 첫 번째 값 & 마지막 값 함수 FIRST_VALUE & LAST_VALUE function

FIRST_VALUE function - 2012년에 소개된 함수이다. - 지정한 함수의 첫번째 값을 가져온다. - ORDER BY clause is required - PARTITION BY clause is optional Syntax: FIRST_VALUE(Column_Name) OVER (ORDER BY Col1, Col2, ...) Example: SELECT Name, Gender, Salary, FIRST_VALUE(Name) OVER (ORDER BY Salary) AS FirstValue FROM Employees 첫 번째 값 'Mark'만 쫘악 나열 되어 있는 모습 파티션을 넣으면 어떻게 될까 SELECT Name, Gender, Salary, FIRST_VALUE(Name) OVER ..

Database/SQL Server 2020.12.18
반응형