if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[getepnum]') and xtype in (n'fn', n'if', n'tf'))
drop function [dbo].[getepnum]
go
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[getstrcount]') and xtype in (n'fn', n'if', n'tf'))
drop function [dbo].[getstrcount]
go
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[getstrofindex]') and xtype in (n'fn', n'if', n'tf'))
drop function [dbo].[getstrofindex]
go
set quoted_identifier on
go
set ansi_nulls on
go
--- 这个函数直接调用了另外的两个函数,可以先阅读下面提到的两个函数
create function getepnum (@str varchar(8000))
returns varchar(8000)
as
begin
declare @str_return varchar(8000)
declare @i int
declare @temp_i int
declare @onlineornot int
declare @findepnumok int
-- 用来取得一个epnum,
-- 规则:首先从chatid中取,如果有在线得,则取得最前面得在线得返回
-- 如果全部不在线,则返回 ‘00000000’
select @findepnumok = 0
select @temp_i = 0
if len(@str)
begin
select @str_return = '00000000'
end
else
begin
select @i = dbo.getstrcount(@str,',')