[MS-SQL] DELETE, DROP, TRUNCATE
데이터 자료를 삭제하기 위해서 사용되는 DELETE, DROP, TRUNCATE의 차이를 알아보도록 하자Create DataCREATE TABLE [dbo].[Temp_Cust]( [cust_id] [int] NOT NULL, [cust_nm] [varchar](50) NULL, [cust_depth] [varchar](10) NULL, CONSTRAINT [PK_Temp_Cust] PRIMARY KEY CLUSTERED ( [cust_id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_..
2025. 4. 6.
[MS-SQL] DATEPART, DATENAME - 일자(요일,주차,분기) 함수
특정 일자의 요일이나 주차 또는 분기 등을 추출하여 사용해야할 때가 있다. 이럴 때 DATEPART 라는 함수를 이용하면 일자의 요일 등을 확인할 수가 있다.DATEPART날짜를 인수로 받아 해당 날짜의 요일, 주차, 분기 등을 계산해주는 함수/* DATEPART(옵션, 날짜) 형식으로 기재 */SELECT DATEPART(WEEKDAY, '2025-03-02')명칭인수인수 약어요일WEEKDAYDW분기QUARTERQQ, Q일년 중 몇일DAYOFYEARDY, Y일년 중 몇주차WEEKWK, WW 우선, WEEKDAY 로 조회를 하면 요일을 확인하기 위한 옵션이다. 2025-03-02 는 [ 1 ] 로 결과값이 추출되는데, 요일을 숫자로 표기하여 조회하기 때문이다. 일요일을 1부터 시작하여 1, 2, 3 의 ..
2025. 3. 21.
[MS-SQL] UNION, UNION ALL
데이터를 표기할 때, 두 개의 테이블에 자료를 하나로 합쳐서 표기해야 하는 경우들이 있다. 오늘은 그중에서 합집합과 관련된 함수인 UNION과 UNION ALL에 대해 확인하도록 하겠다.Create Temp Table & Create DataCREATE TABLE #tmp_math( cust_id int, cust_name varchar(10), math int)INSERT INTO #tmp_math VALUES (1,'홍길동',85)INSERT INTO #tmp_math VALUES (2,'이순신',100)CREATE TABLE #tmp_kr_lang( cust_id int, cust_name varchar(10), kr_lang int)INSERT INTO #tmp_kr_lang VALUES (1,'..
2025. 3. 18.
[MS-SQL] COMMIT, ROLLBACK, BEGIN TRAN
데이터를 우리가 직접 INSERT, UPDATE, DELETE 를 처리할 때가 있는데, MS-SQL 은 대부분은 AUTO COMMIT 을 설정해서 사용한다. 이에 우리가 직접 쿼리를 이용하여 데이터를 처리할 때 잘못처리하면 되돌리기 힘든 상황이 발생할 수 있는데, 이럴 때 BEGIN TRAN 을 이용하면 큰 실수를 방지할 수 있다.Create Temp Table & Create DataCREATE TABLE #tmp_data( cust_id int, cust_name varchar(10), kr_lang int, math int)INSERT INTO #tmp_data VALUES (1,'홍길동',85,90)INSERT INTO #tmp_data VALUES (2,'이순신',100,95)INSERT INT..
2025. 2. 11.
[MS-SQL] TOP, WITH TIES, ROW_NUMBER
MS-SQL 에서 특정 행 수를 제한하여 출력을 할 때, 사용하기에 적합한 함수를 살펴보려고 한다. Oracle 에서는 ROWNUM 이라는 것을 사용하는데 MS-SQL 은 ROWNUM이라는 게 없다. 이에 TOP 이나 ROW_NUMBER 를 이용하여 출력하려는 자료의 갯수를 제한하거나 순번을 메겨서 표기할 수 있다.TEST Table & Data CreateCREATE TABLE #tmp_data( cust_id int, cust_name varchar(10), kr_lang int, math int)INSERT INTO #tmp_data VALUES (1,'홍길동',85,90)INSERT INTO #tmp_data VALUES (2,'이순신',100,95)INSERT INTO #tmp_data VALU..
2025. 1. 17.
[MS-SQL] IIF, CASE ( DECODE, CASE ) 조건문
오라클의 DECODE 라는 조건문이 있는데, MS-SQL 에는 IIF 를 DECODE 처럼 이용할 수 있다. SQL Server 2012 버전부터 사용이 가능하며, CASE 문을 주로 사용하기는 하지만 두 가지 값만 리턴 받을 땐 좀 더 간단하게 작성할 수 있는 IIF 를 사용할 수 있다. IIF 와 CASE 에 대해서 확인하도록 하자. TEST Table & Data CreateCREATE TABLE #tmp_data( cust_id int, cust_name varchar(10), cust_job varchar(10))INSERT INTO #tmp_data VALUES (1,'홍길동','학생')INSERT INTO #tmp_data VALUES (2,'이순신','군인')INSERT INTO #tmp_..
2025. 1. 15.