2018/03(9)
-
DB/MSSQL
2018.03.31
2
[MSSQL] 날짜함수(GETDATE,DATEADD,DATEPART,DATEDIFF) 사용법 & 예제
MSSQL에서는 날짜를 여러 가지 형태로 가공할 수 있는 함수들을 많이 제공하고 있습니다. 이번 포스팅에서는 대표적인 날짜 함수(GETDATE, DATEADD, DATEPART, DATEDIFF)의 사용법에 대해서 알아보도록 하겠습니다. GETDATE GETDATE함수는 현재 컴퓨터에 설정되어있는 시스템 시간을 불러와주는 함수입니다. 2018-03-31 오전 01:40:30 위와 같이 GETDATE() 함수는 년월일은 물론이거니와 분, 초 까지도 구해줍니다. 하지만 모든 사용자들이 위와 같은 형식으로 사용하지는 않겠죠. 여기서 우리는 우리가 표시할 시간이나 날짜만 적절히 뽑아 올 수도 있고 날짜 형태를 바꿔서 출력할 수도 있습니다. 사용법 --현재 날짜 출력-- SELECT GETDATE() AS 시스템..
-
DB/MSSQL
2018.03.30
[MSSQL] 문자열 치환 (REPLACE,STUFF) 사용법 & 예제
데이터베이스를 사용하다보면 테이블안에있는 데이터의 특정 문자들만 치환 해줘야 하는 일이 생깁니다. 이번 포스팅에서는 특정 문자열을 바꿔주는 REPLACE함수와 STUFF함수에 대해서 알아보도록 하겠습니다. REPLACE 지정된 문자열 값을 특정 문자열로 바꿔주는 함수입니다. 사용법 --문법-- REPLACE('문자열','치환예정문자','치환할문자') --예시-- REPLACE('ABCDEFG','DEF','XXX') 예제 --MY_TABLE에서 이름(NM_KOR)을 이씨를 김씨으로 바꿔서 출력-- SELECT REPLACE(NM_KOR,'이','김')AS 사원명 FROM MY_TABLE STUFF 지정된 문자열의 시작위치와 크기를 지정하여 원하는 문자로 치환하는 함수입니다. 사용법 --문법-- STUFF..
-
DB/MSSQL
2018.03.30
1
[MSSQL] 데이터 타입변환 (CONVERT,CAST) 사용법 & 예제
MSSQL에서 사용되는 데이터 타입 변환 함수는 CONVERT함수와 CAST함수입니다. 두 함수 다 하나의 유형에서 다른 유형으로 데이터를 변환하는 데 사용합니다. 쓰는 방식만 조금 다르고 하는 일은 같습니다. 자세한 설명은 해당 사이트에 있으니 참조하시기 바랍니다. Conver함수와 Cast함수 사용링크 Convert 개인적으로 가장 많이 사용하는 데이터 변환 함수라고 생각합니다. 날짜 변환하는데도 유용하게 사용 가능합니다. 참고로 부동 소수점 또는 숫자에서 정수로 변환할 때 CONVERT() 함수는 결과를 자르고 다른 변환일 경우에는 반올림합니다. 사용법 --문법-- CONVERT(data_type[(length)], expression[style]) --예시-- SELECT CONVERT(NVARC..
-
DB/MSSQL
2018.03.29
[MSSQL] 문자열 자르기 (LEFT,RIGHT,SUBSTRING) 사용법 & 예제
LEFT Left함수는 문자열을 받아서 왼쪽부터 원하는 길이만큼 자르는 함수이며 주민등록번호만으로도 생년월일을 구하거나 이름을 잘라서 성만 출력하는 등 다양한 방법으로 활용 가능합니다. 사용법 --문법-- LEFT(문자열,길이) --예시-- LEFT(NAME,2) 예제 --테이블(MY_TABLE)에서 이름(NM_KOR)을 잘라 성만 출력-- SELECT LEFT(NM_KOR,1) AS 이름 FROM MY_TABLE RIGHT RIGHT함수는 LEFT함수와 기능은 같지만 방향만 다른 함수입니다. RIGHT함수는 문자열을 받아서 오른쪽부터 원하는 길이만큼 자르는 함수이며 LEFT함수와 마찬가지로 다양하게 사용이 가능합니다. 사용법 --문법-- RIGHT(문자열,길이) --예시-- RIGHT(NAME,3) 예..
-
DB/MSSQL
2018.03.29
[MSSQL] NULL값 체크 (ISNULL) 함수 사용법 & 예제
ISNULL함수 ISNULL함수는 Microsoft SQL Server의 내장함수이며 칼럼이 NULL값일 경우 다른값으로 대체할 수 있는 기능이 있습니다. 데이터베이스를 사용하다보면 파라미터로 NULL값이 오거나 칼럼안에 NULL값이 들어있는 등 경우에 따라 NULL값을 적절히 처리해줘야하는 경우가 많은데 이럴때 유용하게 쓰일 수 있는 함수입니다. 사용법 --문법-- ISNULL(칼럼,칼럼이 NULL일경우 대체할 값) --예시-- ISNULL(Colum,0) (ISNULL(@PARAMETER,'')='') 예제 1. 부서(DEPT)를 검색하되 부서가 NULL값이면 '부서없음'으로 검색하기 SELECT ISNULL(DEPT,'부서없음') AS DPET FROM table 2. 파라미터와 동일한 이름(NAM..
-
DB/MSSQL
2018.03.29
5
[MSSQL] 커서 사용법 & 예제
커서란? 행 단위 작업을 효율적으로 하기 위한 방식으로 테이블에서 여러 개의 행을 조회한 후 쿼리의 결과를 한 행씩 처리하는 방식입니다. SELECT 한 결과(행 집합)를 반복 작업해줘야 할 경우 유용하게 사용 가능 한 방식입니다. 커서의 특징 1. 커서는 내장 SQL 문의 수행 결과로 반환될 수 있는 복수의 튜플들을 액세스 할 수 있도록 해주는 개념입니다. 2. 커서는 질의 수행 결과로 반환되는 첫 번째 튜플에 대한 포인터로 생각할 수 있습니다. 3. 커서를 사용하여 질의 결과로 반환될 수 있는 튜플들을 한 번에 하나씩 차례대로 처리할 수 있습니다. 커서 관련 명령어 DECLARE : 커서를 정의하는 등 커서에 관련된 선언을 하는 명령입니다. OPEN : 커서가 질의 결과의 첫 번째 튜플을 포인트 하도..
-
DB/MSSQL
2018.03.28
[MSSQL] SET NOCOUNT 정의와 사용법 (프로시저 성능 향상)
SET NOCOUNT란? 쿼리문 또는 프로시저의 영향을 받은 행 수를 나타내는 메시지가 결과 집합의 일부로 반환되지 않도록 하는 것 구문 : SET NOCOUNT {ON/OFF} 사용하는 이유 MSSQL에서 프로시저를 만 들 경 우 프로시저의 속도(성능)에 대해서 생각을 안 할 수 없습니다. 프로시저의 속도가 프로그램의 속도에 밀접한 관련이 있는 만큼 프로시저의 성능에 대해 초점을 맞추고 쿼리문을 짜야합니다. 이번 포스팅에서는 SET NOCOUNT라는 함수를 사용하여 쿼리 문의 속도를 향상하는 방법에 대해 알아보겠습니다. MSSQL에서 프로시저를 만들고 실행을 해보면 위와 같은 메시지를 보신 적이 있으실 텐데요. 위 메시지는 INSERT나 UPDATE DELETE처럼 테이블에 영향을 주게 되면 출력이 됩..
-
DB/MSSQL
2018.03.26
[MSSQL] 반복문(WHILE)사용법 & 예제
WHILE문 MS SQL에서도 반복문을 지원합니다. 반복문을 사용해서 변수에 문자열을 계속 붙이거나 숫자를 더하는 등 다양한 방식으로 응용하여 사용할 수 있습니다. 반복문을 사용하는 다양한 예제를 포스팅합니다. 1. 숫자더하기 DECLARE @NUM INT, @SUM INT,@TIME INT --변수선언 SET @NUM = 1 SET @SUM = 0 SET @TIME = 10 WHILE @NUM
-
DB/MSSQL
2018.03.22
[MSSQL] 피벗 테이블을 활용하여 세로로 된 데이터 가로로 출력하기
피벗테이블이란? 테이블을 조회한 데이터를 특정 데이터 칼럼으로 사용, 요약된 결과를 만들어 표시하는 것입니다. 사용자 입장에서 데이터를 좀 더 쉽게 볼 수 있도록 출력 형태를 가공할 때 사용합니다. 예제 피벗테이블을 활용하여 세로로 되어있는 칼럼을 가로로 바꿔보는 예제 (행을 열로 변환) MM_TEST 테이블안에는 위와 같이 DT(날짜), QT(수량)의 데이터가 10만 개가 있습니다. 위 테이블의 월별 합계 수량을 가로로 나타내시오 해결방법 1. 테이블의 월별 합계 수량을 Select 합니다. DECLARE @DT_FROM NVARCHAR(6) = '200802' DECLARE @DT_TO NVARCHAR(6) = '200904' SELECT MAX(DT) AS DT, SUM(QT) AS QT FROM ..
-
DB/MSSQL 2018.03.31 2[MSSQL] 날짜함수(GETDATE,DATEADD,DATEPART,DATEDIFF) 사용법 & 예제 MSSQL에서는 날짜를 여러 가지 형태로 가공할 수 있는 함수들을 많이 제공하고 있습니다. 이번 포스팅에서는 대표적인 날짜 함수(GETDATE, DATEADD, DATEPART, DATEDIFF)의 사용법에 대해서 알아보도록 하겠습니다. GETDATE GETDATE함수는 현재 컴퓨터에 설정되어있는 시스템 시간을 불러와주는 함수입니다. 2018-03-31 오전 01:40:30 위와 같이 GETDATE() 함수는 년월일은 물론이거니와 분, 초 까지도 구해줍니다. 하지만 모든 사용자들이 위와 같은 형식으로 사용하지는 않겠죠. 여기서 우리는 우리가 표시할 시간이나 날짜만 적절히 뽑아 올 수도 있고 날짜 형태를 바꿔서 출력할 수도 있습니다. 사용법 --현재 날짜 출력-- SELECT GETDATE() AS 시스템..
-
DB/MSSQL 2018.03.30[MSSQL] 문자열 치환 (REPLACE,STUFF) 사용법 & 예제 데이터베이스를 사용하다보면 테이블안에있는 데이터의 특정 문자들만 치환 해줘야 하는 일이 생깁니다. 이번 포스팅에서는 특정 문자열을 바꿔주는 REPLACE함수와 STUFF함수에 대해서 알아보도록 하겠습니다. REPLACE 지정된 문자열 값을 특정 문자열로 바꿔주는 함수입니다. 사용법 --문법-- REPLACE('문자열','치환예정문자','치환할문자') --예시-- REPLACE('ABCDEFG','DEF','XXX') 예제 --MY_TABLE에서 이름(NM_KOR)을 이씨를 김씨으로 바꿔서 출력-- SELECT REPLACE(NM_KOR,'이','김')AS 사원명 FROM MY_TABLE STUFF 지정된 문자열의 시작위치와 크기를 지정하여 원하는 문자로 치환하는 함수입니다. 사용법 --문법-- STUFF..
-
DB/MSSQL 2018.03.30 1[MSSQL] 데이터 타입변환 (CONVERT,CAST) 사용법 & 예제 MSSQL에서 사용되는 데이터 타입 변환 함수는 CONVERT함수와 CAST함수입니다. 두 함수 다 하나의 유형에서 다른 유형으로 데이터를 변환하는 데 사용합니다. 쓰는 방식만 조금 다르고 하는 일은 같습니다. 자세한 설명은 해당 사이트에 있으니 참조하시기 바랍니다. Conver함수와 Cast함수 사용링크 Convert 개인적으로 가장 많이 사용하는 데이터 변환 함수라고 생각합니다. 날짜 변환하는데도 유용하게 사용 가능합니다. 참고로 부동 소수점 또는 숫자에서 정수로 변환할 때 CONVERT() 함수는 결과를 자르고 다른 변환일 경우에는 반올림합니다. 사용법 --문법-- CONVERT(data_type[(length)], expression[style]) --예시-- SELECT CONVERT(NVARC..
-
DB/MSSQL 2018.03.29[MSSQL] 문자열 자르기 (LEFT,RIGHT,SUBSTRING) 사용법 & 예제 LEFT Left함수는 문자열을 받아서 왼쪽부터 원하는 길이만큼 자르는 함수이며 주민등록번호만으로도 생년월일을 구하거나 이름을 잘라서 성만 출력하는 등 다양한 방법으로 활용 가능합니다. 사용법 --문법-- LEFT(문자열,길이) --예시-- LEFT(NAME,2) 예제 --테이블(MY_TABLE)에서 이름(NM_KOR)을 잘라 성만 출력-- SELECT LEFT(NM_KOR,1) AS 이름 FROM MY_TABLE RIGHT RIGHT함수는 LEFT함수와 기능은 같지만 방향만 다른 함수입니다. RIGHT함수는 문자열을 받아서 오른쪽부터 원하는 길이만큼 자르는 함수이며 LEFT함수와 마찬가지로 다양하게 사용이 가능합니다. 사용법 --문법-- RIGHT(문자열,길이) --예시-- RIGHT(NAME,3) 예..
-
DB/MSSQL 2018.03.29[MSSQL] NULL값 체크 (ISNULL) 함수 사용법 & 예제 ISNULL함수 ISNULL함수는 Microsoft SQL Server의 내장함수이며 칼럼이 NULL값일 경우 다른값으로 대체할 수 있는 기능이 있습니다. 데이터베이스를 사용하다보면 파라미터로 NULL값이 오거나 칼럼안에 NULL값이 들어있는 등 경우에 따라 NULL값을 적절히 처리해줘야하는 경우가 많은데 이럴때 유용하게 쓰일 수 있는 함수입니다. 사용법 --문법-- ISNULL(칼럼,칼럼이 NULL일경우 대체할 값) --예시-- ISNULL(Colum,0) (ISNULL(@PARAMETER,'')='') 예제 1. 부서(DEPT)를 검색하되 부서가 NULL값이면 '부서없음'으로 검색하기 SELECT ISNULL(DEPT,'부서없음') AS DPET FROM table 2. 파라미터와 동일한 이름(NAM..
-
DB/MSSQL 2018.03.29 5[MSSQL] 커서 사용법 & 예제 커서란? 행 단위 작업을 효율적으로 하기 위한 방식으로 테이블에서 여러 개의 행을 조회한 후 쿼리의 결과를 한 행씩 처리하는 방식입니다. SELECT 한 결과(행 집합)를 반복 작업해줘야 할 경우 유용하게 사용 가능 한 방식입니다. 커서의 특징 1. 커서는 내장 SQL 문의 수행 결과로 반환될 수 있는 복수의 튜플들을 액세스 할 수 있도록 해주는 개념입니다. 2. 커서는 질의 수행 결과로 반환되는 첫 번째 튜플에 대한 포인터로 생각할 수 있습니다. 3. 커서를 사용하여 질의 결과로 반환될 수 있는 튜플들을 한 번에 하나씩 차례대로 처리할 수 있습니다. 커서 관련 명령어 DECLARE : 커서를 정의하는 등 커서에 관련된 선언을 하는 명령입니다. OPEN : 커서가 질의 결과의 첫 번째 튜플을 포인트 하도..
-
DB/MSSQL 2018.03.28[MSSQL] SET NOCOUNT 정의와 사용법 (프로시저 성능 향상) SET NOCOUNT란? 쿼리문 또는 프로시저의 영향을 받은 행 수를 나타내는 메시지가 결과 집합의 일부로 반환되지 않도록 하는 것 구문 : SET NOCOUNT {ON/OFF} 사용하는 이유 MSSQL에서 프로시저를 만 들 경 우 프로시저의 속도(성능)에 대해서 생각을 안 할 수 없습니다. 프로시저의 속도가 프로그램의 속도에 밀접한 관련이 있는 만큼 프로시저의 성능에 대해 초점을 맞추고 쿼리문을 짜야합니다. 이번 포스팅에서는 SET NOCOUNT라는 함수를 사용하여 쿼리 문의 속도를 향상하는 방법에 대해 알아보겠습니다. MSSQL에서 프로시저를 만들고 실행을 해보면 위와 같은 메시지를 보신 적이 있으실 텐데요. 위 메시지는 INSERT나 UPDATE DELETE처럼 테이블에 영향을 주게 되면 출력이 됩..
-
DB/MSSQL 2018.03.26[MSSQL] 반복문(WHILE)사용법 & 예제 WHILE문 MS SQL에서도 반복문을 지원합니다. 반복문을 사용해서 변수에 문자열을 계속 붙이거나 숫자를 더하는 등 다양한 방식으로 응용하여 사용할 수 있습니다. 반복문을 사용하는 다양한 예제를 포스팅합니다. 1. 숫자더하기 DECLARE @NUM INT, @SUM INT,@TIME INT --변수선언 SET @NUM = 1 SET @SUM = 0 SET @TIME = 10 WHILE @NUM
-
DB/MSSQL 2018.03.22[MSSQL] 피벗 테이블을 활용하여 세로로 된 데이터 가로로 출력하기 피벗테이블이란? 테이블을 조회한 데이터를 특정 데이터 칼럼으로 사용, 요약된 결과를 만들어 표시하는 것입니다. 사용자 입장에서 데이터를 좀 더 쉽게 볼 수 있도록 출력 형태를 가공할 때 사용합니다. 예제 피벗테이블을 활용하여 세로로 되어있는 칼럼을 가로로 바꿔보는 예제 (행을 열로 변환) MM_TEST 테이블안에는 위와 같이 DT(날짜), QT(수량)의 데이터가 10만 개가 있습니다. 위 테이블의 월별 합계 수량을 가로로 나타내시오 해결방법 1. 테이블의 월별 합계 수량을 Select 합니다. DECLARE @DT_FROM NVARCHAR(6) = '200802' DECLARE @DT_TO NVARCHAR(6) = '200904' SELECT MAX(DT) AS DT, SUM(QT) AS QT FROM ..