mssql 개인적으로 기억할 query
오늘 날짜 데이터 가져오기
INSERT INTO 테이블명 (컬럼명)
SELECT 컬럼명
FROM 테이블명
WHERE (convert(varchar(8), CreatedDatetime, 112) = convert(varchar(8), getdate(), 112));
최신 날짜로 데이터 가져오기
SELECT 컬럼명
FROM 테이블명
WHERE 날짜컬럼명 = (SELECT MAX(날짜컬럼명) FROM 테이블명);
중복 데이터 무시하고 테이블에 insert
INSERT INTO 테이블명 컬럼명
SELECT 컬럼명 FROM 테이블명 as A
WHERE 날짜컬럼명 = (SELECT MAX(날짜컬럼명) FROM 테이블명) AND NOT EXISTS
(SELECT 컬럼명 FROM 테이블명 as B WHERE 조건문);
중복되는 데이터 찾기
ex)
SELECT [Name], [Domain], count(*) as count FROM [Hairbot].[dbo].[testTable] WHERE CreatedDatetime = (SELECT MAX(CreatedDatetime) FROM testTable) GROUP BY [Name], [Domain] ORDER BY [count] desc
해당 날짜의 최신 시간 데이터 가져오기
ex)
SELECT A.[Idx], A.[DataAreaId], A.[Domain], A.[Name], A.[SalePrice], B.[ItemCode]
FROM [Hairbot].[dbo].[SiteProducts] A
INNER JOIN [Hairbot].[dbo].[Mapping] B
ON A.Name = B.Name and A.Domain = B.Domain
WHERE CreatedDatetime = (SELECT MAX(CreatedDatetime) FROM [Hairbot].[dbo].[SiteProducts]
WHERE (convert(varchar(8), CreatedDatetime, 112) = '20210402'));
해당 주의 월요일 구하기
ex)
SELECT [Idx] ,[DataAreaId] ,[Domain] ,[Name] ,[RegPrice] ,[SalePrice] ,[MapCheck] ,[CreatedDatetime]
FROM [Hairbot].[dbo].[SiteProducts]
WHERE CreatedDatetime = (SELECT DATEADD(wk, DATEDIFF(wk, 0, '20210407'), 0));