본문 바로가기

MS-SQL/Function3

MSSQL Base64 String Encode,Decode Function CREATE FUNCTION [dbo].[Base64EncodeByBin] ( @PlainText VarChar(MAX) ) RETURNS VarChar(MAX) BEGIN DECLARE @ENCODED VARCHAR(MAX) SELECT @ENCODED = CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:column("bin")))','VARCHAR(MAX)') FROM ( SELECT CAST(@PlainText AS VarBinary(MAX)) AS bin ) AS bin_sql_server_temp; RETURN @ENCODED END -------------------------------------------------------------.. 2016. 5. 13.
MSSQL 어설프고 허접하게 만든 RegEx Replace 역할 function 예제 -0- 목적 : 정규식형태를 이용하여 포함되는 기호나 문자의 목록을 특정문자나 공백으로 치환 하도록 한다. 함수명 : dbo.GetRegExReplace 함수 결과 스칼라 리턴 형식 - VarChar(MAX) Parameter (Argument ) 4-1 @TargetText VarChar(MAX) - 원본 문자열 값 4-2 @Expression VarChar(80) - 정규 식 형태 문자열 4-3 @ReplaceValue VarChar(80) - 교체할 문자 1. a-z 까지 포함 되는 문자열 제거 SELECT dbo.GetRegExReplace('1^28a45b840c92-3d0_ 9 ','[^-_]','') 2. a-z 를 제외한 문자열 제거 SELECT dbo.GetRegExReplace('128a45b.. 2016. 5. 12.
ASCII 함수를 이용한 숫자만 추출해보는 간단한 함수 예제 CREATE FUNCTION dbo.UDF_RETURN_NUMBER ( @IN_PARAM_TEXT NVARCHAR(4000) ) RETURNS NVARCHAR(512) AS BEGIN DECLARE @RETURNVALUE nvarchar(512) DECLARE @TEXTLENGTH INT SET @TEXTLENGTH = LEN(@IN_PARAM_TEXT); DECLARE @ADDLENGTH INT SET @ADDLENGTH = 1 WHILE @TEXTLENGTH >= @ADDLENGTH BEGIN IF ((ASCII(SUBSTRING(@IN_PARAM_TEXT,@ADDLENGTH,1)) >= 48) and (ASCII(SUBSTRING(@IN_PARAM_TEXT,@ADDLENGTH,1)) 2013. 2. 1.