zoukankan      html  css  js  c++  java
  • 中文排序

    SQL Server?

    try
    --------------------------------
    --排序可以
    declare @t table([name] varchar(10))
    insert into @t select '张三'
    union all select '李四'
    union all select '王二'
    union all select '王五'
    union all select '吴三'

    select * from @t order by [name] collate Chinese_PRC_CI_AS
    leohuang(LEO)
    回复:关于SQL语句怎么样才能实现中文数据按首字母排序

    或者用函数,转贴
    -------------------------------------------------
    CREATE function fn_GetPy(@str nvarchar(4000))
    returns nvarchar(4000)
    --WITH ENCRYPTION
    as
    begin
    declare @intLenint
    declare @strRetnvarchar(4000)
    declare @temp nvarchar(100)

    set @intLen = len(@str)
    set @strRet = ''

    while @intLen > 0
    begin
    set @temp = ''

    select @temp = case
    when substring(@str,@intLen,1) >= '帀' then 'Z'
    when substring(@str,@intLen,1) >= '丫' then 'Y'
    when substring(@str,@intLen,1) >= '夕' then 'X'
    when substring(@str,@intLen,1) >= '屲' then 'W'
    when substring(@str,@intLen,1) >= '他' then 'T'
    when substring(@str,@intLen,1) >= '仨' then 'S'
    when substring(@str,@intLen,1) >= '呥' then 'R'
    when substring(@str,@intLen,1) >= '七' then 'Q'
    when substring(@str,@intLen,1) >= '妑' then 'P'
    when substring(@str,@intLen,1) >= '噢' then 'O'
    when substring(@str,@intLen,1) >= '拏' then 'N'
    when substring(@str,@intLen,1) >= '嘸' then 'M'
    when substring(@str,@intLen,1) >= '垃' then 'L'
    when substring(@str,@intLen,1) >= '咔' then 'K'
    when substring(@str,@intLen,1) >= '丌' then 'J'
    when substring(@str,@intLen,1) >= '铪' then 'H'
    when substring(@str,@intLen,1) >= '旮' then 'G'
    when substring(@str,@intLen,1) >= '发' then 'F'
    when substring(@str,@intLen,1) >= '妸' then 'E'
    when substring(@str,@intLen,1) >= '咑' then 'D'
    when substring(@str,@intLen,1) >= '嚓' then 'C'
    when substring(@str,@intLen,1) >= '八' then 'B'
    when substring(@str,@intLen,1) >= '吖' then 'A'
    else rtrim(ltrim(substring(@str,@intLen,1)))
    end

    --对于汉字特殊字符,不生成拼音码
    if (ascii(@temp)>127) set @temp = ''

    --对于英文中小括号,不生成拼音码
    if @temp = '(' or @temp = ')' set @temp = ''

    select @strRet = @temp + @strRet

    set @intLen = @intLen - 1
    end

    return lower(@strRet)
    end
    go

    --调用
    select dbo.fn_getpy('张三')

    --返回:zs
  • 相关阅读:
    wamp支持win10吗?怎么设置?
    帝国cms添加修改会员字段时字段名不能带数字,否则注册页会出现空白
    微信用户量破6.5亿 首超移动QQ
    如何进行网站统计分析?分8步走!
    《如何策划一个有逼格的竞价专题页面》有感
    dedecms批量删除文档关键词可以吗
    一只刚学竞价两周的菜鸟
    Android/iOS微信6.3.5同时发布更新 支持群视频聊天、群公告
    帝国cms修改栏目后文章列表的url错误怎么解决
    dedecms批量导出新增文章url和标题
  • 原文地址:https://www.cnblogs.com/wangxiaohuo/p/596402.html
Copyright © 2011-2022 走看看