IT/DB 35

LEFT JOIN시 DB LOCK

LEFT JOIN시 NULL값 매칭으로 ISNULL(value,0) 처리를 해줌 해당 DB LOCK의 원인 1.테이블 잠금 : 테이블이 업데이트 중이거나 변경 작업이 길어질때 LOCK이 발생할 수 있다.SELECT 쿼리도 데이터 무결성을 위해 잠금을 발생 2.인덱스가 부재 : NULL값으로 JOIN을 매칭하려 할때 적절한 인덱스가 없으면 테이블을 풀스캔 해서 잠금이 길어질 수 있다. 기존 : LEFT JOIN a_table a ON a.value = b.value 변경 : LEFT JOIN a_table a ON ISNULL(a.value,'0') = b.value

IT/DB 2024.12.30

MSSQL 이번주 일요일 부터 토요일까지 날짜 구하기

DATEADD,DATEPART,GETDATE()함수 사용해서 금주의 요일별 날짜를 구할 수 있다. 함수 : DATEADD : 날짜 혹은 시간을 연산하는데 사용하는 함수 DATEPART : 날짜의 단위를 지정한다.(연월일시분초) GETDATE() : 금일 날짜를 구할 수 있다. 쿼리 : SELECT DATEADD(DAY, 1 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) AS Sunday, DATEADD(DAY, 2 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) AS Monday, DATEADD(DAY, 3 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS ..

IT/DB 2024.11.17

MSSQL CURSOR 사용 / UPDATE문 반복 / INSERT문 반복

/*  ################################################################################################ 제         목  : 결과 집합을 반복처리하는 프로시저 ################################################################################################*/ CREATE PROCEDURE [dbo].[test_procedure] WITH EXEC AS CALLER AS BEGIN DECLARE @test_txt VARCHAR(50) DECLARE @test_int DECIMAL(18, 2)-- 커서를 선언하여 초기 SELECT 쿼리에서 test_t..

IT/DB 2024.11.13

MSSQL CONVERT DATE형식의 종류

MSSQL CONVERT함수를 사용하면 다양한 날짜 형식으로 변환이 가능하다. CONVERT(VARCHAR,GETDATE(),숫자) ->오늘 날짜를 기준0기본값, 100과 동일Nov 8 2024 9:45AM1미국식(월/일/연도)11/08/242ANSI 표준(연도-월-일)24.11.083영국/프랑스식(일/월/연도)08/11/244독일식(일.월.연도)08.11.245이탈리아식(일-월-연도)08-11-2410미국식(월-일-연도)11-08-202411일본식(년/월/일)24/11/0812ISO 표준(연도월일)24110820ODBC 표준(연도-월-일)2024-11-0821ODBC 표준(연도-월-일 시간 포함)2024-11-08 09:45:1222ODBC 시간09:45:1223ISO 표준(연도-월-일)2024-11-..

IT/DB 2024.11.08

DBeaver 쿼리 조회 결과를 엑셀 파일로 저장하기(DATA EXPORT)

1.조회된 쿼리 Results 우클릭 > 데이터 추출 클릭2.CSV파일로 내보내기 > 다음 클릭 3.포맷 형식에 대한 설정 후 다음 클릭 4.Encoding형식 : UTF-8  / insert BOM 체크 후 Start 5.UTF-8로 EXPORT해서 한글이 깨질 경우에 추출된 CSV파일 우클릭>편집>메모장으로 열기쉼표로 구분되어 있는 데이터 확인 후 다른이름으로 저장(인코딩 형식은 UTF-8(BOM)으로 재설정)

IT/DB 2024.11.07

SSMS 링크드 서버 설정 및 오픈쿼리 조회

1.SSMS 실행 >서버개체>연결된 서버 우클릭>새 연결된 서버 2.새 연결된 서버>일반탭의 정보 입력연결된 서버 : 서버명 설정공급자 : SQL Server Native Client 11.0제품이름 : MS-SQL데이터 원본 : 서버 아이피 및 포트3. 새 연결된 서버>보안탭의 정보 입력원격 로그인할 아이디와 암호를 입력함4.SSMS 서버개체>연결된 서버 확인 5.OPENQUERY사용SELECT * FROM OPENQUERY(링크드서버명,'쿼리')예) SELECT * FROM OPENQUERY (TESTD, 'select * from IF_TESTD_TABLE' )링크드서버로 접근시 필요한 영역에 따라 테이블의 CRUD 권한을 열어줘야 한다.

IT/DB 2024.11.05