[MS SQL] GROUP BY를 활용하여 평균값 구하기 * GROUP BY를 활용하여 특정 필드를 기준으로하여 평균값을 구하고자 할 때 데이터들이 아래와 같이 있다고 가정. prodName필드 별로 price의 평균을 구하고자 할때 Table명 : dbo.buyTbl 기준 필드 : prodName 평균값 필드 : price SQL : SELECT prodName,AVG(price) FROM dbo.buyTbl GROUP BY prodName SQL결과 SQL/MS SQL 2022.10.31
[MS SQL] 특정 테이블 필드들의 데이터 타입 확인하는 쿼리 설명 : 아래 [테이블명]에 구성되어 있는 필드들의 데이터 타입(VARCHAR, INT, DATE 등...)을 확인하는 쿼리 SQL : SELECT co.name AS obj_name, co.name AS col_name, TYPE_NAME(co.user_type_id) AS type_name FROM sys.objects AS ob JOIN sys.columns AS co ON ob.object_id = co.object_id WHERE ob.name = '[테이블명] ORDER BY col_name; SQL/MS SQL 2022.10.20
[MS SQL]ISNULL을 활용한 공란(공백)과 NULL 필드 찾기 DB 테이블의 데이터 중에 특정필드에 NULL과 공란이 공존할때에 해당 값의 레코드를 찾을 수 있는 ISNULL의 사용법 예시) 테이블명 : MASTER MASTER란 테이블에 품번, 품명, 규격, 가격이란 필드가 존재하며 아래와 같이 데이터가 있다고 가정. 이 중에 품명의 정보가 누락된 공란과 NULL인 '품번'들을 찾을 때에 ISNULL을 활용하면 된다. SQL : SELECT 품번 FROM MASTER WHERE ISNULL(품명,'') = '' 설명 : MASTER란 테이블에서 품명의 필드값이 공란인 품번을 갖고 와라~ 하지만 여기서 품명필드가 NULL이면! 공란으로 변경하여 비교를 하니 NULL과 공란 모두의 품번을 갖고 옴. 추가설명 : ISNULL(필드명, 대체자) => 필드명이 NULL이면.. SQL/MS SQL 2022.10.20
[MS SQL] Linked Server 활용하기 다른 서버와의 네트워크를 통한 연결로 간편하게 데이터를 조회하거나 접근할 수 있는 방법이다. 아래 항목별로 쿼리를 날려 서버간 연결을 하면 SELECT가 가능해진다. - MSSQL 연결된 서버 생성 EXEC sp_addlinkedserver @server = '[연결 할 서버별칭 지정]', @srvproduct = '', @provider = 'SQLOLEDB', @datasrc = '[서버 아이피]', @catalog = '[데이터 베이스명]' - MSSQL 연결계정 생성 EXEC sp_addlinkedsrvlogin @rmtsrvname= '[연결된 서버별칭]', @useself= 'false', @rmtuser = '[사용자 이름]', @rmtpassword = '[사용자 암호]' - MSSQL 연.. SQL/MS SQL 2022.10.17
날짜를 Julian Date로 변환 및 Julian Date를 날짜로 변환하기 줄리언 일자란? 컴퓨터 프로그래밍에서 일반적으로 말하는 쥴리안 일자는, 특정한 연도의 시작으로부터 경과된 일수를 의미 예를 들어, 2022년 3월 4일에 대한 쥴리안 일자는 "2022064"가 된다. (YYYYJJJ 형식) 2022년 2월 28일에 대한 쥴리안 일자는 "2022059"가 된다. 위와 같은 형식을 YYYYJJJ 형태로 변환하고자 할떄 아래와 같은 쿼리를 이용하면 구할 수 있다. -- 일반 일자(Date) => Julian Date (YYYYJJJ형식) select getdate() declare @dateB datetime = getdate() select (datepart(year, @dateB))*1000 + datepart(dy, @dateB) -- Julian Date(YYYYJJJ.. SQL/MS SQL 2022.03.04