본문 바로가기

SQL

Dapper.net 이 뭘까요? https://github.com/StackExchange/dapper-dot-net Execute a query and map the results to a strongly typed List Note: all extension methods assume the connection is already open, they will fail if the connection is closed. 이는 쿼리를 실행하고, strongly typed List 형태로 결과값을 매핑하는 것을 의미한다. 참고 : 모든 확장 메소드들은 연결자가 항상 열러져 있기 때문에 connection 이 닫혀 있을 경우 fail 이 떨어진다. public static IEnumerable Query(this IDbConnection ..
SQL 2005 이상, 재귀 ( Hierarchy ) 함수 CTE 활용해서 tree 구조 만들기 재귀함수를 사용한 내용이다. 아래 블로그에서 펌한 내용이지만,트리 형태로 정확히 나오지 않아, Hierarchy 부분에,숫자 4자리(없으면 앞에 0으로 채움) 를 만들어 정렬하는데 문제 없도록 했다. WITH Recursive_CTE AS ( SELECT child.CompanyID, child.DeptID, child.ActiveDept, CAST(child.NameBase as varchar(100)) NameBase, child.ParentDeptID, CAST('>> ' as varchar(100)) LVL, CAST(right('0000'+convert(varchar(4), child.DeptID), 4) as varchar(100)) Hierarchy FROM DP_ACC_DEPT child ..
주단위, 월단위, 년단위, 분기별 단위 sql 통계 구현하기 -- 주 단위Select DATEPART(ww, dates), count(order_no) From 테이블group by DATEPART(ww, dates)order by DATEPART(ww, dates) -- 월단위Select DATEPART(mm, dates), count(order_no) From tablesgroup by DATEPART(mm, dates)order by DATEPART(mm, dates) -- 년단위Select DATEPART(yy, dates), count(order_no) From tablesgroup by DATEPART(yy, dates)order by DATEPART(yy, dates) --분기별SELECT A.memyear,A.AA,SUM(A.CNT) AS CNTFR..
자동증가 테이블의 필드를 0으로 초기화 설정하는 방법 DBCC CHECKIDENT ('테이블명', RESEED, 0) 위의 쿼리는 자동증가 테이블의 필드를 0으로 초기화 설정하는 방법을 보여준다. insert 를 할 경우, 1부터 저장된다.
SELECT * INTO와 INSERT INTO SELECT..의 차이점 펌 : 허둥사마 : tit99hds.egloos.com SELECT * INTO와 INSERT INTO SELECT..의 차이점 1.SELECT * INTO사용법 SELECT INTO 구문은 원본은 있고 대상 테이블은 새롭게 생성하려 할 경우 사용합니다. TABLE A에서 모든 데이터를 가져와 A_COPY라는 테이블을 생성하여 데이터를 INSERT하고 싶습니다. 물론 A_COPY라는 테이블은 현재 만들어져있지 않습니다. SELECT * INTO A_COPY FROM A 위와 같이 하면 A테이블과 같은 컬럼과 데이터를 가지는 A_COPY라는 테이블이 생성됩니다. 그럼 A테이블의 특정 컬럼만 가져오려면? SELECT * INTO A_COPY FROM ( SELECT COL1,COL2,COL3.... FROM..
SQL Server 2008 - 대량 가져오기 및 내보내기 작업 정보 http://msdn.microsoft.com/ko-kr/library/ms187042.aspx SQL Server 2008 온라인 설명서(2009년 1월) 대량 가져오기 및 내보내기 작업 정보 업데이트: 2008년 10월 31일SQL Server에서는 SQL Server 테이블에서 대량의 데이터를 내보내고 SQL Server 테이블이나 분할되지 않은 뷰로 대량의 데이터를 가져올 수 있습니다. 다음과 같은 기본 방법을 사용할 수 있습니다. 방법설명데이터 가져오기데이터 내보내기 bcp 유틸리티 데이터를 대량으로 내보내고 가져오며 서식 파일을 생성하는 명령줄 유틸리티(Bcp.exe)입니다. 예 예 BULK INSERT 문 데이터 파일에서 데이터베이스 테이블이나 분할되지 않은 뷰로 직접 데이터를 가져오는 Tr..
MS-SQL 2005 로 XML 생성해 보기 아래와 같은 XML 을 MS-SQL 에서 SELECT 구문을 이용하여 어떻게 출력할 수 있는지 알아보죠. SELECT ( SELECT 'White' AS Color1, 'Blue' AS Color2, 'Black' AS Color3, 'Light' AS 'Color4/@Special', 'Green' AS Color4, 'Red' AS Color5 FOR XML PATH('Colors'), TYPE ), ( SELECT 'Apple' AS Fruits1, 'Pineapple' AS Fruits2, 'Grapes' AS Fruits3, 'Melon' AS Fruits4 FOR XML PATH('Fruits'), TYPE ) FOR XML PATH(''), ROOT('SampleXML') GO FOR XML..
MS-SQL 2005 에서 XML 값 추출해오기 MS-SQL 2005 에서 XML 값을 가지고 어떻게 파싱하여 값을 추출하는지를 보여줍니다. 간단히 SELECT 구문으로 추출해 오는 예제를 살펴볼까 합니다. SQL Server 실행 시간: CPU 시간 = 0ms, 경과 시간 = 1ms. SQL Server 구문 분석 및 컴파일 시간: CPU 시간 = 0ms, 경과 시간 = 1ms. SQL Server 실행 시간: CPU 시간 = 0ms, 경과 시간 = 1ms. (1개 행 적용됨) (1개 행 적용됨) SQL Server 실행 시간: CPU 시간 = 62ms, 경과 시간 = 204ms. SQL Server 구문 분석 및 컴파일 시간: CPU 시간 = 0ms, 경과 시간 = 1ms. SQL Server 실행 시간: CPU 시간 = 0ms, 경과 시간 = 1..