728x90
반응형

분류 전체보기 79

MSSQL 날짜 더하기, 빼기( DATEADD )

이번시간은 MSSQL에서 날짜를 더하고 빼는 DATEADD 함수를 알아보자 SELECT DATEADD(날짜형식, 값, 기준일자) ex) SELECT DATEADD(YY, 1, GETDATE()) 기준일자에다가 날짜형식(yy, mm, dd, hh, mi, ss) 에 해당하는 값을 더해 날짜를 구하는 방식이다. 아래의 예를 보면서 기준일자인 2020-03-10 16:36:24.790 이것이 어떻게 변하는지 확인하자 SQL 결과 SELECT GETDATE() 2020-03-10 16:36:24.790 SELECT DATEADD(YY, 1, GETDATE()) AS 년더하기 2021-03-10 16:36:24.790 SELECT DATEADD(MM, 1, GETDATE()) AS 월더하기 2020-04-10 1..

MS-SQL SQL Server 2020.03.10

MSSQL 날짜 차이 구하기 ( DATEDIFF )

이번시간은 두 날짜의 차이를 구하는 함수인 DATEDIFF를 알아보자 SELECT DATEDIFF(날짜형식, 비교날짜1, 비교날짜2) ex) SELECT DATEDIFF(YY, '2019-03-01', GETDATE()) DATEDIFF 함수의 1번째 인자에 날짜형식을 넣고(ex. yy, mm, dd, hh, mi, ss) 2, 3번재 인자에 비교할 날짜를 넣으면 2번째 인자로 부터 3번째인자가 얼마나 후인지를 구하게된다. SQL 결과 SELECT DATEDIFF(YY, '2019-03-01', GETDATE()) AS 년차이 1 SELECT DATEDIFF(MM, '2019-03-01', GETDATE()) AS 월차이 12 SELECT DATEDIFF(DD, '2019-03-01', GETDATE()..

MS-SQL SQL Server 2020.03.10

MSSQL 문자열 자르기( LEFT, RIGHT )

문자열을 자를때 Substring 처럼 시작위치를 정하고 길이를 정하는 함수도 있지만 LEFT, RIGHT처럼 왼쪽 기준으로 몇글자, 오른쪽 기준으로 몇글자 자르는 함수도 있다. SELECT LEFT(문자열, 왼쪽기준 길이) SELECT RIGHT(문자열, 왼쪽기준 길이) ex) SELECT LEFT('ABCDEFG', 4), SELECT RIGHT('ABCDEFG', 4) SELECT LEFT('ABCDEFG', 4) 이 뜻은 ABCDEFG라는 문자열의 왼쪽에서 4자리까지 가져오라는 뜻이다. Substring으로 표현하면 SELECT SUBSTRING('ABCDEFG', 1, 4) 와 같은 뜻이된다. SELECT RIGHT('ABCDEFG', 4) 이 뜻은 ABCDEFG라는 문자열의 오른쪽에서 4자리까..

MS-SQL SQL Server 2020.03.10

MSSQL 날짜 년, 월, 일 가져오기(DATEPART, DATENAME)

이번시간은 날짜의 특정부분(년, 월, 일, 시, 분, 초)만 가져오는 함수를 알아보자 이때 사용하는 함수는 DATEPART이다. SELECT DATEPART(날짜형식, 날짜) ex) SELECT DATEPART(YY, GETDATE()) DATEPART 함수에 2번째 인자로 DATETIME 타입의 데이터를 넣고 1번째 인자로 원하는 형식을 찾아서 넣으면 된다. 기본적인 형식은 아래와 같다. SQL 결과 SELECT GETDATE() AS 현재 2020-03-10 16:03:23.670 SELECT DATEPART(YY, GETDATE()) AS 년 2020 SELECT DATEPART(MM, GETDATE()) AS 월 3 SELECT DATEPART(DD, GETDATE()) AS 일 10 SELECT..

MS-SQL SQL Server 2020.03.10

MSSQL 문자열 자르기( SUBSTRING )

이번시간은 MSSQL에서 사용빈도가 아주 높은 문자열 자르기를 알아보자 SELECT SUBSTRING(문자열, 시작위치, 글자수) ex) SELECT SUBSTRING('ABCDEFG', 1, 3) SUBSTRING 함수의 1번째 인자 : 문자열 2번째 인자 : 자를 시작 위치 3번째 인자 : 자를 시작 위치로부터 문자 갯수 SELECT SUBSTRING('ABCDEFG', 1, 3) 라고 실행을 하면 1번째부터 3개의 문자까지 자른다는 뜻이다. 문자의 시작은 A가 1번이여서 만약 SELECT SUBSTRING('ABCDEFG', 0, 3) 이라고 입력하면 A보다 앞에서 시작해서 3글자 자르기여서 AB만 리턴된다. 그래서 시작위치를 잘 알아야한다. SUBSTRING과 CHCHARINDEX, LEN을 조합..

MS-SQL SQL Server 2020.03.10

MSSQL 특정문자 위치 찾기( CHARINDEX() )

이번 시간에는 MSSQL에서 특정문자의 위치를 찾는 CHARINDEX()를 알아보자 SELECT CHARINDEX(찾을문자,문자열) ex) SELECT CHARINDEX('E','ABCDEFG') ABCDEFG 라는 문자열이 있다고 보자 여기서 E라는 문자의 위치를 찾고싶다. 눈으로 보면 5번째 위치하고 있다고 볼 수 있다. 이때 SELECT CHARINDEX('E','ABCDEFG') 이렇게 실행을 하게되면 2번째 인자인 ABCDEFG라는 문자열에서 1번째 인자인 E라는 문자열을 찾아 위치를 INDEX로 알려주게된다. 만약 SELECT CHARINDEX('Z','ABCDEFG') 이처럼 없는 문자열을 찾게되면 0이라는 수를 알려준다. 문자가 1개만 되냐고? MSSQL은 마이크로소프트에서 만든거다. 그렇..

MS-SQL SQL Server 2020.03.10

MSSQL 날짜 변환 함수(형태 변환)

이번시간은 MSSQL의 날짜 형태를 변환하는 함수를 알아보자 기본적으로 MSSQL에서 현재 날짜를 찾으려면 SELECT GETDATE() 이렇게 SQL을 실행하면 된다. SQL 결과 SELECT GETDATE() 2020-03-10 14:43:06.240 설정에 따라 다르겠지만 일반적으로 이렇게 나온다. 년(4자리)-월(2자리)-일(2자리) 시(2자리):분(2자리):초(2자리).초소수점(3자리) 그런데 사용자들에게 보여줄때 년월일만 보여줘야 할 수도 있고 년월일 시:분까지만 보여줘야하는 경우도 있다. 그래서 MSSQL에서는 다양한 날자형태를 보여준다. SELECT CONVERT(데이터타입, 날짜시간, 변환형태숫자) ex) SELECT CONVERT(VARCHAR, GETDATE(), 121) DATETI..

MS-SQL SQL Server 2020.03.10

MSSQL 트랜잭션

트랜잭션은 BEGIN TRANSACTION 과 END TRANSACTION 으로 구성된다. 1. BEGIN TRANSACTION : BEGIN 이라고 쓰고 트랜잭션의 시작을 알림 2. END TRANSACTION : COMMIT, ROLLBACK 2개로 구성되고 트랜잭션의 끝을 알림 3. COMMIT => 트랜잭션이 완료되어 DB에 반영 4. ROLLBACK => 트랜잭션 과정에서 문제가 있어서 DB에 반영하지않고 원래상태로 돌아감 MSSQL은 기본적으로 Auto Commit이다. 그래서 Insert, Update, Delete 실행을 하면 다로 DB에 반영이 된다. 만약 회사에서 MSSQL을 사용하는데 데이터를 조작해야할 경우 트랜잭션을 꼭 사용해야한다. 사용하지 않고 실수를 하면 데이터를 그냥 날려버..

MS-SQL SQL Server 2020.03.09

MSSQL Cursor 사용법

DECLARE 커서이름 CURSOR FOR -- 커서 선언해서 커서에 가져올 실행문 -- 커서에 가져올 실행문 실행 OPEN 커서이름 FETCH NEXT FROM 커서이름 -- 처음에 커서가 0번 을 가리키고 있어서 1번행 가르키도록 다음것을 가져옴 INTO 실행문에서 가져온 변수 -- 커서 실행문에서 사용할 변수 가져오기 WHILE @@FETCH_STATUS=0 BEGIN -- FETCH문이 정상적으로 실행될동안 while문으로 돌림 처리할 실행문(insert or update) -- 반복될동안 처리될 실행문 FETCH NEXT FROM 커서이름 -- 커서 다음것 가져옴 INTO 실행문에서 가져온 변수 END -- 반복문의 마지막 CLOSE 커서이름 -- 커서 닫기 DEALLOCATE 커서이름 -- 커..

MS-SQL SQL Server 2020.03.09
728x90
반응형