2010-9-26 转换 成 二零一零年九月二十六日

解决方案 »

  1.   

    http://blog.csdn.net/htl258/archive/2010/04/24/5523183.aspx
      

  2.   

    alter function f_t(@vx int,@mode varchar(10))
    returns nvarchar(60)
    as
    begin
    declare @ret nvarchar(60)
    declare @n int
    declare @chi nvarchar(20)='零一二三四五六七八九'
    declare @v nvarchar(4) =cast(@vx as nvarchar(4))
    set @ret=''
    if @mode='Y'
    begin
    set @ret+=substring(@chi,cast(substring(@v,1,1) as int)+1,1)
    set @ret+=substring(@chi,cast(substring(@v,2,1)as int)+1,1)
    set @ret+=substring(@chi,cast(substring(@v,3,1)as int)+1,1)
    set @ret+=substring(@chi,cast(substring(@v,4,1) as int)+1,1)
    set @ret+='年'
    end
    else if @mode='M'
    begin
    if LEN(@v)=1
    set @ret+=substring(@chi,cast(substring(@v,1,1) as int)+1,1)
    else
    begin
    set @ret+=substring(@chi,cast(substring(@v,1,1) as int)+1,1)
    set @ret+='十'
    set @ret+=substring(@chi,cast(substring(@v,2,1) as int)+1,1)
    end
    set @ret+='月'
    end
    else
    begin
    if LEN(@v)=1
    set @ret+=substring(@chi,cast(substring(@v,1,1) as int)+1,1)
    else
    begin
    set @ret+=substring(@chi,cast(substring(@v,1,1) as int)+1,1)
    set @ret+='十'
    set @ret+=substring(@chi,cast(substring(@v,2,1) as int)+1,1)
    end
    set @ret+='日'
    end
    return @ret;
    end
    goSELECT dbo.f_t(2010,'Y')+' '+dbo.f_t(9,'M')+' '+dbo.f_t(26,'D')/*------------------------
    二零一零年 九月 二十六日*/
      

  3.   

    一个substring函数就可以解决的问题