注册|登录

联系电话:024-31891684  13390130939
沈阳软件公司--沈阳软件定制

沈阳软件开发_沈阳软件公司_沈阳软件定制/软件/最新技术

Latest technology最新技术

SQL按拼音查询

浏览量:2279


GO
/****** 对象:  UserDefinedFunction [dbo].[f_ch2py]    脚本日期: 01/27/2010 16:07:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 create   function   [dbo].[f_ch2py](@chn   nchar(1))  
  returns   char(1)  
  as  
  begin  
  declare   @n   int  
  declare   @c   char(1)  
  set   @n   =   63  
   
  select   @n   =   @n   +1,  
                @c   =   case   chn   when   @chn   then   char(@n)   else   @c   end  
  from(  
    select   top   27   *   from   (  
            select   chn   =    
  '吖'   union   all   select  
  '八'   union   all   select  
  '嚓'   union   all   select  
  '咑'   union   all   select  
  '妸'   union   all   select  
  '发'   union   all   select  
  '旮'   union   all   select  
  '铪'   union   all   select  
  '丌'   union   all   select     --because   have   no   'i'  
  '丌'   union   all   select  
  '咔'   union   all   select  
  '垃'   union   all   select  
  '嘸'   union   all   select  
  '拏'   union   all   select  
  '噢'   union   all   select  
  '妑'   union   all   select  
  '七'   union   all   select  
  '呥'   union   all   select  
  '仨'   union   all   select  
  '他'   union   all   select  
  '屲'   union   all   select     --no   'u'  
  '屲'   union   all   select     --no   'v'  
  '屲'   union   all   select  
  '夕'   union   all   select  
  '丫'   union   all   select  
  '帀'   union   all   select   @chn)   as   a  
  order   by   chn   COLLATE   Chinese_PRC_CI_AS    
  )   as   b  
  return(@c)  
  end  

 
 
USE [Eforces-COC]
GO
/****** 对象:  UserDefinedFunction [dbo].[F_GetHelpCode]    脚本日期: 01/27/2010 16:03:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
  CREATE   FUNCTION   [dbo].[F_GetHelpCode]   (  
  @cName   VARCHAR(20)   )  
  RETURNS   VARCHAR(12)  
  AS  
  BEGIN  
        DECLARE   @i   SMALLINT,   @L   SMALLINT   ,   @cHelpCode   VARCHAR(12),   @e   VARCHAR(12),   @iAscii   SMALLINT  
        SELECT   @i=1,   @L=0   ,   @cHelpCode=''  
        while   @L<=12   AND   @i<=LEN(@cName)   BEGIN  
              SELECT   @e=LOWER(SUBSTRING(@cname,@i,1))  
              SELECT   @iAscii=ASCII(@e)  
              IF   @iAscii>=48   AND   @iAscii   <=57   OR   @iAscii>=97   AND   @iAscii   <=122   or   @iAscii=95    
                SELECT   @cHelpCode=@cHelpCode     +@e  
              ELSE  
              IF   @iAscii>=176   AND   @iAscii   <=247  
                          SELECT   @cHelpCode=@cHelpCode     +   dbo.f_ch2py(@e)  
                  ELSE   SELECT   @L=@L-1  
              SELECT   @i=@i+1,   @L=@L+1   END    
          RETURN   @cHelpCode  
  END  

使用:select  *   from   Eforces_Incment where  dbo.F_GetHelpCode(name) like ('Z%')

沈阳团购网|营口网站制作|沈阳软件公司|软件定制|网站建设|加盟易势|提交问题