sql 中文转拼音首字母
2015-07-06 11:41
393 查看
--可支持大字符集20000个汉字! create function 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 go select dbo.f_ch2py('中') --Z select dbo.f_ch2py('国') --G select dbo.f_ch2py('人') --R select dbo.f_ch2py('镆') --M go -----------------调用 CREATE FUNCTION 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 GO --调用 select dbo.F_GetHelpCode('大力')
相关文章推荐
- Android连接服务器数据库查询+Gson解析(List和Map)格式json数据(二)
- SQL -- 是否或推断线相交以在其内部的平面
- Android连接服务器数据库查询+Gson解析(List和Map)格式json数据(一)
- SQL Server游标的使用
- 看懂SqlServer查询计划
- SQL Server 中的排名函数与使用场景
- 数据库三范式
- Sql Server自增列和delete truncate删除语句关系
- 数据库进程间通信解决方案
- MySQL数据库事务隔离级别(Transaction Isolation Level)
- 数据库引擎调整顾问
- 分页查询一定范围内的SQL语句
- 利用SQL Profiler处理开销较大的查询
- SQL Server Profiler工具
- SQL Server执行计划的理解
- SQL Server Join方式
- [MySQL] - MySQL的Grant命令
- MYSQL数据库学习十七 日志管理
- Ubuntu上使用jsp去连接mysql的时候踢提示Access denied for user 'root'@'localhost' (using password: YES)的解决办法!!!
- 【Developing Log】数据库连接权限非动态