sql 函数 汉字转拼音

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
GO
/****** Object: UserDefinedFunction [dbo].[fn_GetPy] Script  Date : 2017/1/4 10:53:49 ******/
SET  ANSI_NULLS  ON
GO
SET  QUOTED_IDENTIFIER  ON
GO
ALTER  function  [dbo].[fn_GetPy](@str nvarchar(4000))
returns  nvarchar(4000)
  --用于加密
--WITH ENCRYPTION
as
begin
declare  @intLen  int
declare  @strRet nvarchar(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

  效果如下:

 


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/6247781.html,如需转载请自行联系原作者

相关文章
|
2月前
|
SQL Oracle 关系型数据库
SQL优化-使用联合索引和函数索引
在一次例行巡检中,发现一条使用 `to_char` 函数将日期转换为字符串的 SQL 语句 CPU 利用率很高。为了优化该语句,首先分析了 where 条件中各列的选择性,并创建了不同类型的索引,包括普通索引、函数索引和虚拟列索引。通过对比不同索引的执行计划,最终确定了使用复合索引(包含函数表达式)能够显著降低查询成本,提高执行效率。
|
2月前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
2月前
|
SQL 数据库 索引
SQL中COUNT函数结合条件使用的技巧与方法
在SQL查询中,COUNT函数是一个非常常用的聚合函数,用于计算表中满足特定条件的记录数
|
2月前
|
SQL 关系型数据库 MySQL
SQL日期函数
SQL日期函数
|
4月前
|
SQL 数据库
|
3月前
|
SQL 关系型数据库 C语言
PostgreSQL SQL扩展 ---- C语言函数(三)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
|
4月前
|
SQL 数据采集 数据处理
如何在 SQL Server 中使用 LEN 函数
【8月更文挑战第9天】
176 1
如何在 SQL Server 中使用 LEN 函数
|
4月前
|
SQL 数据处理 数据库
SQL中的函数有哪些类型
【8月更文挑战第20天】SQL中的函数有哪些类型
44 1
|
4月前
|
SQL 监控 索引
如何在 SQL Server 中使用 `PATINDEX` 函数
【8月更文挑战第8天】
431 9
|
4月前
|
SQL 数据处理 数据库