본문 바로가기

DataBase/MS-SQL3

MS-SQL DB Spec 생성하는 프로시져 CREATE PROC [dbo].[dba_SpaceUsed] @SourceDB varchar ( 128 ) = null -- Optional database name -- If omitted, the current database is reported. , @SortBy char(1) = 'S' -- N for name, S for Size -- T for table name AS SET NOCOUNT ON DECLARE @sql nvarchar (4000) IF @SourceDB IS NULL BEGIN SET @SourceDB = DB_NAME () -- The current DB END -------------------------------------------------------- -- Cre.. 2015. 2. 21.
LPad 기능구현 /* ========================================================================================== FUNC 명 : [dbo].[ufn_LPAD] FUNC 기능 : @STRING1이 최대 길이 @LENGTH이 될 때까지 왼쪽으로 부터 @STRING2로 채운 문자열을 반환한다. 만약 @STRING1이 @LENGTH보다 길면 왼쪽부터 @LENGTH 길이 만큼 @STRING1 문자열의 일부를 반환한다. @STRING2는 디폴트로 char(1)이지만 char(1)보다 클 때는 문자열의 오른쪽부터 @LENGTH만큼 잘라낸 문자열을 반환한다. Return 값 : @STRING1을 @LENGTH만큼 왼쪽으로 @STRING2로 채운 문자열 실 행 예 .. 2014. 5. 21.
주어진 문자열을 구분자 기준으로 테이블로 반환하는 함수 다음 함수는 문자열을 넘겨받아 해당 문자열을 구분자를 기준으로 테이블로 반환하는 예제이다. CREATE FUNCTION [dbo].[ufn_SplitTable] ( @String VARCHAR(MAX), @Separator CHAR(1) = ',' ) RETURNS @SplitTable TABLE ( Pos INT, Element VARCHAR(1000) ) AS BEGIN DECLARE @Num INT; SELECT @Num = 1; DECLARE @NUMS TABLE(n INT NOT NULL); WHILE @Num < LEN(@String) + 1 BEGIN INSERT INTO @NUMS(n) VALUES(@Num) SET @Num = @Num + 1 END; INSERT INTO @SplitTa.. 2014. 5. 20.