본문 바로가기
728x90
반응형

MSSQL15

MSSQL] 샘플 데이터 만들기 https://www.mockaroo.com/ 2023. 4. 24.
MSSQL] PIVOT, UNPIVOT, GROUPING SETS, ROLLUP, CUBE 결과 sets을 pivot, unpivot 하는 쿼리를 작성해보자. GROUPING SET, CUBE, ROLLUP과 함께 여러 그룹을 명시하는 쿼리를 작성해보자. PIVOT, UNPIVOT SQL Server에서 피벗을 사용하여 데이터가 표시되는 방식을 행 기반 방향에서 열 기반 방향으로 전환할 수 있다. 열의 값을 고유한 값 목록에 통합한 다음, 해당 목록을 열 제목으로 프로젝션한다. 일반적으로 여기에 새 열의 열 값에 대한 집계가 포함된다. 아래와 같은 중복값이 있는 데이터를 PIVOT 연산자를 사용하여 Category 및 Orderyear를 기준으로 결과를 분석해보자. Category로 그룹핑하고, Orderyear 별로 Qty의 합계를 표시하면 된다. SELECT Category, [2019],.. 2023. 4. 14.
MSSQL] CURSOR VS WHILE CURSOR DECLARE @database VARCHAR(50) DECLARE db_cursor CURSOR FOR select name FROM sys.databases OPEN db_cursor FETCH NEXT FROM db_cursor INTO @database WHILE @@FETCH_STATUS = 0 BEGIN PRINT @database FETCH NEXT FROM db_cursor INTO @database END CLOSE db_cursor DEALLOCATE db_cursor WHILE with CTE AS ( select name from sys.databases ) select name into #query from CTE DECLARE @name VARCHAR(50) WHIL.. 2023. 3. 21.
DB 암호화/복호화 1. AES256 dll 파일 Assembly로 등록 2. 암호화 복호화 스칼라 함수 등록 복호화함수 CREATE FUNCTION [dbo].[UBAES256DeFunc](@Input [nvarchar](max), @KeyVal [nvarchar](max)) RETURNS [nvarchar](max) WITH EXECUTE AS CALLER AS EXTERNAL NAME [어셈블리이름].[클래스이름].[함수이름] GO 암호화함수 CREATE FUNCTION [dbo].[UBAES256EnFunc](@Input [nvarchar](max), @KeyVal [nvarchar](max)) RETURNS [nvarchar](max) WITH EXECUTE AS CALLER AS EXTERNAL NAME [어셈블.. 2021. 9. 8.
MSSQL] xmlParseCharRef: invalid xmlChar value 26 오류해결 MSSQL DB에서 데이터 SELECT 하여 XML을 만드는 웹서비스가 있는데 아래와 같이 오류가 발생함... 뭔가 잘못된 문자가 들어간 것 같은데 쿼리를 실행해서 찾아봄... 근데 당최 보이지가 않는다. 메모장으로 복붙해서 보니 보인다... 그건 바로 ASCII 코드 26번 새 쿼리 창에 붙여넣으면 보이지 않지만 결과에는 보인다. CHAR : 숫자를 받아 아스키코드에 맞게 문자를 리턴해주는 함수 SELECT 할때 CHAR(26)을 '->'로 REPLACE 하도록 수정함. 2020. 12. 3.
MSSQL] 구분자로 문자열 split하여 Table로 변환하기 구분자로 나눈 문자열을 param으로 Procedure에 전달했을때, 프로시져내부에서 해당 문자열을 잘라 사용해야할 경우가 있다. 구분자로 나눈 문자열과 구분자를 parameter로 전달하면 index, value 컬럼의 테이블로 값을 반환하는 프로시져이다. CREATE FUNCTION fn_J_Split( @Expression VARCHAR(8000), @Delimiter VARCHAR(10) ) RETURNS @tblArray TABLE ( rIndex INT IDENTITY(1,1), rValue VARCHAR(8000) ) AS BEGIN DECLARE @rValue VARCHAR(8000) SET @Expression = replace(@Expression,', ',',') SET @Expres.. 2020. 10. 15.
728x90
반응형