当前位置: 代码迷 >> Sql Server >> 地址转拼音的有关问题
  详细解决方案

地址转拼音的有关问题

热度:23   发布时间:2016-04-27 15:13:48.0
地址转拼音的问题
地址转拼音的问题,当地址里出现数字或字母时就出现问题:
  declare   @hanzi   nvarchar(max),
                @pinyin     nvarchar(max),
                @naddress   nvarchar(max),
                @addressen   nvarchar(max),
                @i   int,
                @k   int,
                @id     int
select   @address= '156 ',@id=1
        begin
                                    set   @i=1
                                    while     @i <=len(@address)
                                    begin  
                                        select   @hanzi=   substring(@address,@i,1)  
                                          print   @hanzi
                                          select   @pinyin=   case   when   datalength(@hanzi)=1   then   @hanzi
                                                                                when   datalength(@hanzi) <> 1   then       (select   top   1   py2   from   汉字拼音表     where     [email protected])   end
                  --取汉字的拼音                                                    
                                  print   @pinyin
                                        update   公司表   set   addressen=addressen+ '   '[email protected]             where   [email protected]
                                        select   @[email protected]+1
                                  end  
end


------解决方案--------------------
nvarchar换成varchar试试
------解决方案--------------------
地址里有数字,结果addressen就为null
没听懂
------解决方案--------------------
datalength对nvarchar的都是2位,所有会查出null,[email protected]
  相关解决方案