当前位置: 首页 > 图文教程 > 数据库 > MSSQL > Sql server 如何得到汉字的声母

MSSQL
SQL Server 2008 层次ID数据类型
超全sql语句全集值得收藏
深入了解SQL Server 2008高可用性
Mysql服务无法启动的1067错误解决
MySQL实现SQL Server的sp_executesql
SQL中自己创建函数 分割字符串
Sql server 2005 找出子表树
SQL Server数据库备份多种方法
如何恢复/修复SQL Server的MDF文件
浅析SQL Server 2008企业级新特性
SQL Server小知识:Processor Affinity
如何应对SQL Server数据库崩溃
微软SQLServer密码管理的危险判断
SQLServer 2005中如何列所有存储过程
sql server 带列名导出至excel
SQL Server中索引使用及维护
编写安全的SQL Server扩展存储过程
SQL Server数据库实用小技巧集合
给SQL Server传送数组参数的变通办法
SQL语句参考及记录集对象详解

MSSQL 中的 Sql server 如何得到汉字的声母


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 148 ::
收藏到网摘: n/a

 

在sql中创建用户自定义拼音函数:
  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 中国人

  --以后查询的时候,就可以调用上面的函数来实现汉字模糊查询

  select * from 表 where dbo.f_getpy(字段)='zgyh'