示例来自《31天学会CRM项目开发》
1、 MD5是一种加密算法,可将任意长度的字符串转换成一个长度为32的字符串,它是一种不可逆的加密算法,也可以用于对比文件MD5值以此判断文件是否被篡改过。可以通过MD5加密后的字符串,进行查串,然后得到原始字符串。
例:
create function [dbo].[MD5](@str varchar(500))
returns varchar(50)
as
begin
declare @keyvarchar(50);
select @key= replace(sys.fn_VarBinToHexStr(hashbytes('MD5',@str)),'0x','');
return @key;
end;
select dbo.MD5('word');
drop function dbo.MD5
2、 递归函数:(MS SQL 最大深度为32层) 函数可以创建但是无法查看
create function [dbo].[getjob_fullname]
(
@id int,
@fullname varchar(100)
)
returns varchar(100) as
begin
declare @s varchar(100);
declare @parentId int;
select @s = name,@parentId =parentId from job where id =@id;
if @s= '' begin
set @s=@fullname;
end
else begin
set @s= dbo.CONCAT(@s,'\',@fullName);
end;
if @parentId>0 begin
set @s= getjob_fullname(@parentId,@s);
end
return @s;
end;
select *,dbo.getjob_fullname_w(1,'总经理') as fullNamefrom dbo.job
drop function dob.getjob_fullname