function 3

[MS-SQL] 날짜, 시간차이 구하기 (DATEDIFF)

MS-SQL에서 두개의 날짜사이의 차이값을 구해보자.DATEDIFF() 함수는 두날의 차이를 int로 반환하는 Mssql 내장함수이다.단순히 차이나는 일수뿐만 아니라 년도 차이나 시간 차이 혹은 몇주차인지도 확인할수 있다. SELECT DATEDIFF('구분자','Start_Date','End_Date')DATEDIFF()는 총 3개의 인수가 있는데 Start_Date와 End_Date는 차이를 구할 두개의 날짜값을 넣는곳이고 '구분자'는 어떤차이를 구할지 정해주는 부분이다.예를 들어 두 날짜사이의 일자 차이를 구하고 싶으면 'day' 혹은 'dd'등을 넣어주면 된다.만약 2018년의 전체 일수를 구하는 쿼리문을 적는다면 SELECT DATEDIFF(dd,'2018-01-01','2018-12..

DBMS/MS-SQL 2018.06.14

[MS-SQL] 특정 일자 요일 구하기

MS-SQL에서 요일을 구해보자.SQL Server에서 특정일자의 요일을 구하고 싶을 때 DATENAME 혹은 DATEPART 함수를 사용하면 된다.SELECT DATENAME(WEEKDAY,GETDATE())DATENAME의 경우 SQL Server의 언어설정에 따라 한국어일경우 '월요일', '화요일'로 표기되지만영어일경우 'Monday', 'Tuesday' 처럼 표기되기 때문에 실제론 DATEPART를 많이 사용한다.SELECT DATEPART(WEEKDAY,GETDATE())DATEPART는 일요일 시작으로 순서대로 1(일),2(월),3(화),4(수),5(목),6(금),7(토)로 출력해준다.필자는 보통 '월요일' 전체를 가져오기보단 '(월)' 이런식으로 가져오기 때문에아래와 같은 쿼리 혹은 Func..

DBMS/MS-SQL 2018.06.08

[MS-SQL][FUNCTION] String to Table 변환 함수 (Split)

MS-SQL에서 String Array을 Table로 변환시키는 함수(Split 기능)를 만들어보자.MS-SQL에서 프로시저를 만들다보면 가끔 String Array( ','로 구분되는 String 같은)를 테이블로 변환하면 편하게 진행할수 있을경우가 있다.(보통 WHILE을 돌릴때 혹은 재정렬이 필요할경우)그럴경우 아래 Function을 미리 정의해놓고 사용하면 편리하게 이용이 가능하다. CREATE FUNCTION fnStringToTable (@String Nvarchar(4000), @separator nvarchar(10)) RETURNS @re TABLE     (col nvarchar(100)) AS BEGIN   DECLARE @col Nvarchar(..

DBMS/MS-SQL 2018.06.01