CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

请问,如何获取一个汉字的ascii编码?

楼主Jenny77(Jenny)2004-09-03 14:46:40 在 MS-SQL Server / 应用实例 提问

在sql里如何获取一个汉字的声母的编码?  
  sql里有一个ascii()的方法,但是不能够准确的获取一个汉字的编码  
  比如  
  ascii('安')   和ascii('不')的值都等于176  
  问题点数:50、回复次数:4Top

1 楼zjcxc(邹建)回复于 2004-09-03 14:57:20 得分 0

select   unicode('安'),unicode('不')  
   
  --或:  
  select   cast('安'   as   varbinary),cast('不'   as   varbinary)Top

2 楼Jenny77(Jenny)回复于 2004-09-03 15:06:53 得分 0

那如何在sql里查询声母相同的汉字呢?Top

3 楼zjcxc(邹建)回复于 2004-09-03 15:08:32 得分 50

if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[f_GetPy]')   and   xtype   in   (N'FN',   N'IF',   N'TF'))  
  drop   function   [dbo].[f_GetPy]  
  GO  
   
  --创建取拼音函数  
  create   function   f_GetPy(@Str   nvarchar(400))  
  returns   nvarchar(4000)  
  as  
  begin  
  declare   @strlen   int,@re   nvarchar(4000)  
  declare   @t   table(chr   nchar(1)   collate   Chinese_PRC_CI_AS,letter   nchar(1))  
  insert   @t   select   '吖','A'   union   all   select   '八','B'  
  union   all   select   '嚓','C'   union   all   select   '咑','D'  
  union   all   select   '妸','E'   union   all   select   '发','F'  
  union   all   select   '旮','G'   union   all   select   '铪','H'  
  union   all   select   '丌','J'   union   all   select   '咔','K'    
  union   all   select   '垃','L'   union   all   select   '嘸','M'  
  union   all   select   '拏','N'   union   all   select   '噢','O'  
  union   all   select   '妑','P'   union   all   select   '七','Q'  
  union   all   select   '呥','R'   union   all   select   '仨','S'  
  union   all   select   '他','T'   union   all   select   '屲','W'  
  union   all   select   '夕','X'   union   all   select   '丫','Y'  
  union   all   select   '帀','Z'  
   
  select   @strlen=len(@str),@re=''  
  while   @strlen>0  
  begin  
  select   top   1   @re=letter+@re,@strlen=@strlen-1  
  from   @t   a   where   chr<=substring(@str,@strlen,1)  
  order   by   chr   desc  
  if   @@rowcount=0  
  select   @re=substring(@str,@strlen,1)+@re,@strlen=@strlen-1  
  end  
  return(@re)  
  end  
  go  
   
  --测试  
  select   dbo.f_GetPy('东莞市')   as   东莞市,dbo.f_GetPy('ab中c国人')   as   中国人  
   
  Top

4 楼ouyld(ゎたしすきぁぉた)回复于 2004-09-03 16:04:07 得分 0

皱键大哥   真实所向披靡Top

相关问题

  • 汉字的编码
  • 急!!高分求获取汉字的五笔编码第一个编码的方法。
  • 怎样把unicode编码的汉字字符串转化为ASCII和GB2312编码的,C#里
  • 汉字编码问题,急...
  • 100分求汉字编码
  • 询问问汉字编码的规则
  • 是不是汉字编码的问题?
  • 关于汉字编码的问题
  • 汉字编码的问题,Should be simple
  • 如何取得汉字的unicode编码

关键词

  • 编码
  • 汉字
  • getpy
  • ascii
  • union all select
  • 获取一个汉字
  • nvarchar
  • dbo
  • select

得分解答快速导航

  • 帖主:Jenny77
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo