网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.怎样才能保护好SQL Server 数据库.
.ms sql删除重复的记录 .
.正确配置和使用SQL mail.
.错误 2812: 未能找到存储过程 ma.
.生成50万条记录的大数据表的TSQL.
.怎样在SQL Server 2005中用证书加.
.如果有输出参数则必须使用output.
.Sql server 提示挂起问题.
.通过作业调度建立SQL Server的自.
.一种处理不规范日期数据的好方法.
.快速清除SQLServer日志的两种方法.
.SQL Server 2005使用基于行版本控.
.SQL SERVER中一些常见性能问题的.
.sql server 查询分析器快捷键集合.
.sql server 2005中的except和INT.
.某些 SQL Server 2000 和 SQL Se.
.SQL--JOIN之完全用法.
.讲解数据库管理员(DBA)与开发人员.
.关于SQL语句的优化方式.
.80040e37对象名ydsztpwen无效的解.

取得拼音字头的存储过程

发表日期:2005-9-10


-- =============================================
-- Create scalar function (NWGetPYFirst)
-- =============================================
IF EXISTS (SELECT *
 FROM   sysobjects
 WHERE  name = N'NWGetPYFirst')
 DROP FUNCTION NWGetPYFirst
GO

CREATE FUNCTION NWGetPYFirst
(@str varchar(500) = '')
RETURNS varchar(500)
AS
BEGIN
 Declare @strlen int,
  @return varchar(500),
  @ii int,
  @c char(1),
  @chn nchar(1)
 --//初始化变量
 Declare @pytable table(
 chn char(2) COLLATE Chinese_PRC_CS_AS NOT NULL,
 py char(1) COLLATE Chinese_PRC_CS_AS NULL,
 PRIMARY KEY (chn)
   )
 insert into @pytable values('吖', 'A')
 insert into @pytable values('八', 'B')
 insert into @pytable values('嚓', 'C')
 insert into @pytable values('咑', 'D')
 insert into @pytable values('妸', 'E')
 insert into @pytable values('发', 'F')
 insert into @pytable values('旮', 'G')
 insert into @pytable values('铪', 'H')
 insert into @pytable values('丌', 'I')
 --insert into @pytable values('丌', 'J')
 insert into @pytable values('咔', 'K')
 insert into @pytable values('垃', 'L')
 insert into @pytable values('嘸', 'M')
 insert into @pytable values('拏', 'N')
 insert into @pytable values('噢', 'O')
 insert into @pytable values('妑', 'P')
 insert into @pytable values('七', 'Q')
 insert into @pytable values('呥', 'R')
 insert into @pytable values('仨', 'S')
 insert into @pytable values('他', 'T')
 insert into @pytable values('屲', 'U')
 --insert into @pytable values('屲', 'V')
 --insert into @pytable values('屲', 'W')
 insert into @pytable values('夕', 'X')
 insert into @pytable values('丫', 'Y')
 insert into @pytable values('帀', 'Z')

 select @strlen = len(@str), @return = '', @ii = 0
 --//循环整个字符串,用拼音的首字母替换汉字
 while @ii < @strlen
 begin
  select @ii = @ii + 1, @chn = substring(@str, @ii, 1)
  if @chn > 'z' --//检索输入的字符串中有中文字符
   SELECT @c = max(py)
   FROM @pytable
   where chn <= @chn
  else
   set @c=@chn
 
  set @return=@return+@c
 end
 return @return
END
GO

-- =============================================
-- Example to execute function
-- =============================================
SELECT dbo.NWGetPYFirst('梦想国度'), dbo.NWGetPYFirst('noctwolf分享源码'), dbo.NWGetPYFirst('')
GO

上一篇:编写安全的SQL server扩展存储过程 人气:10623
下一篇:SQL Server自动备份无法删除过期的备份文件 人气:12102
浏览全部存储过程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐