create   function SubStr(@a varchar(10))
returns varchar(1)
as
begin
declare @b varchar(1)
declare @i  smallint
set @i=1
set @b= substring(@a,@i,1)
return @b
end
GO
select dbo.SubStr('test')

解决方案 »

  1.   

    @a是不是NULL或''TRY:
    declare @b varchar(1)
    declare @i  smallint
    set @i=1
    if @a is not null and @a<>'' 
         set @b= substring(@a,@i,1)
    else
        set @b=NULL
      

  2.   

    declare @b varchar(1)
    declare @i  smallint
    set @i=1
    select @b= substring(@a,@i,1) where @i>1
      

  3.   

    declare @b varchar(1)
    declare @i  smallint
    set @i=1
    select @b= substring(@a,@i,1) where @i>1