`
weitd
  • 浏览: 143042 次
  • 性别: Icon_minigender_1
  • 来自: 新都
社区版块
存档分类
最新评论

中文转成拼音首字母

 
阅读更多
CREATE   function   GetAllPY(@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  

-------------------------------------------------
取得所有表的表名、字段名称、标示、说明等
SELECT 
    (case when a.colorder=1 then d.name else '' end) 表名,
    a.colorder 字段序号,
    a.name 字段名,dbo.GetAllPY(a.name),
    (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
    (case when (SELECT count(*) 
                FROM sysobjects 
                WHERE (name in (SELECT name
                                FROM sysindexes
                                WHERE (id = a.id) AND (indid in (SELECT indid
                                                                 FROM sysindexkeys
                                                                 WHERE (id = a.id) AND (colid in (SELECT colid
                                                                                                  FROM syscolumns
                                                                                                  WHERE (id = a.id) AND (name = a.name)
                                                                                                  )
                                                                                        )
                                                                )
                                                        )
                                )
                        ) AND (xtype = 'PK') 
                ) > 0 then '√' else '' end) 主键,
    b.name 类型,
    a.length 占用字节数,
    COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
    isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
    (case when a.isnullable=1 then '√'else '' end) 允许空,
    isnull(e.text,'') 默认值,
    isnull(g.[value],a.name) AS 字段说明   

FROM syscolumns a 
    left join systypes b on a.xtype=b.xusertype
    inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
    left join syscomments e on a.cdefault=e.id
    left join sysproperties g on a.id=g.id AND a.colid = g.smallid

order by a.id,a.colorder

ms sql2005下
SELECT 
    表名       = case when a.colorder=1 then d.name else '' end,
    表说明     = case when a.colorder=1 then isnull(f.value,'') else '' end,
    字段序号   = a.colorder,
    字段名     = a.name,
    标识       = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
    主键       = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
                     SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end,
    类型       = b.name,
    占用字节数 = a.length,
    长度       = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
    小数位数   = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
    允许空     = case when a.isnullable=1 then '√'else '' end,
    默认值     = isnull(e.text,''),
    字段说明   = isnull(g.[value],'')
FROM 
    syscolumns a
left join 
    systypes b 
on 
    a.xusertype=b.xusertype
inner join 
    sysobjects d 
on 
    a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties'
left join 
    syscomments e 
on 
    a.cdefault=e.id
left join 
sys.extended_properties   g 
on 
    a.id=G.major_id and a.colid=g.minor_id  
left join 

sys.extended_properties f
on 
    d.id=f.major_id and f.minor_id=0
--where d.name='lj_pruchase_material'    --如果只查询指定表,加上此条件
order by 
    a.id,a.colorder
分享到:
评论

相关推荐

    oracle汉字转换成拼音首字母、全拼等

    oracle汉字转换成拼音首字母、全拼,各种转换类型比较齐全,oracle汉字转换五笔首字母链接https://blog.csdn.net/weixin_40912627/article/details/88710064

    输入汉字转换成拼音首字母js代码.zip

    "输入汉字转换成拼音首字母js代码.zip" 文件提供了一个JavaScript解决方案,用于实现当用户在文本框中输入汉字时,自动添加对应的拼音首字母到下拉列表中,且该代码还特别支持多音字。 这个功能在网页应用中非常...

    C#汉字转换成拼音首字母

    C#汉字转换成拼音首字母 (如:"好好学习(天tian向上)"转换为 "hhxxttxs") 封装好的一个类 自己写个方法直接调用就可以了。

    .net把汉字转换成拼音首字母缩写

    ### .NET中将汉字转换为拼音首字母缩写的实现方法 在.NET开发环境中,经常会遇到对文本进行处理的需求,其中一个常见的需求就是将汉字转换为其对应的拼音首字母缩写。这种功能在很多场景下非常有用,比如姓名的拼音...

    sql 2005 汉字转换成拼音首字母 首字母查询

    sql 2005 汉字转换成拼音首字母 首字母查询

    (完整word)excel表格汉字转拼音首字母的方法.doc

    Excel表格汉字转拼音首字母的方法 在 Excel 表格中,为了方便数据处理和分析,经常需要将汉字转换为拼音首字母。下面将介绍如何使用 VBA 编程将 Excel 表格中的汉字转换为拼音首字母。 知识点一:使用 VBA 编程 ...

    将汉字转换成拼音首字母(C# 2.0)

    用于生成汉字拼音首字母C#源代码 调试环境: vs2008 winxp 这个就不要下载了,要下载请到这里下载: 汉字转换为拼音及拼音首字母示例C#I源码 http://download.csdn.net/source/485583

    sql 汉字转拼音首字母代码

    sql 汉字转拼音首字母 代码 function --汉字转拼音首字母sql Create FUNCTION dbo.fnpbGetPYFirstLetter ( @str NVARCHAR(4000) )

    汉字转全拼音或拼音首字母,支持gb2312和utf8编码

    汉字转全拼音或拼音首字母,支持gb2312和utf8编码 ,附带函数说明, 汉字转换为全拼音或拼音首字母 使用方法: include(ROOT_PATH.'includes/cls_chart_pinyin.php'); echo Pinyin('中国人','utf-8',false); 函数...

    SQL 汉字转拼音首字母

    ### SQL汉字转拼音首字母知识点解析 #### 一、背景介绍 在数据库处理过程中,有时候我们需要将汉字转换为对应的拼音,特别是在中文环境下的数据检索、排序等操作中,这种需求尤为常见。本篇文章将深入探讨如何利用...

    【Access源码示例】--汉字转拼音首字母大写、转完整拼音

    【Access源码示例】--汉字转拼音首字母大写、转完整拼音

    汉字转化成拼音首字母代码delphi xe

    在Delphi编程环境中,开发汉字转化为拼音首字母的程序是一项常见的需求,这主要涉及到文本处理和中文字符编码的理解。在给定的标题“汉字转化成拼音首字母代码Delphi XE”中,我们可以推断这是一个关于如何在Delphi ...

    汉字转换拼音大写首字母

    汉字转换拼音大写首字母

    java汉字转拼音,android汉字转拼音,汉字转拼音首字母,汉字转ASCII

    对于汉字转拼音首字母,可以稍微简化上述过程,只取每个汉字拼音的第一个字母。在Java和Android中,这通常通过遍历`Pinyin4j`返回的拼音数组并提取首字母来实现。 接下来,我们讨论汉字转ASCII。由于汉字不是ASCII...

    JS输入汉字转换成拼音首字母代码

    在JavaScript(JS)编程中,将汉字转换成拼音首字母代码是一种常见的需求,尤其是在实现诸如自动补全、拼音检索等功能时。这篇文档将详细介绍如何利用JS实现这一功能,并结合输入框、下拉列表等交互元素,创建一个...

    汉字转拼音声母首字母 dll

    在中文处理中,拼音声母是指每个汉字拼音的开头部分,例如“汉字”转换为拼音“hàn zì”,其声母首字母为“hz”。 在标签中,“汉字转拼音”是关键功能,它是许多中文处理应用的基础,比如搜索引擎、输入法、语音...

    postgresql汉字转拼音首字母函数

    支持2万+汉字转拼音首字母

    Qt 汉字转拼音与首字母

    Qt本身并不直接提供这样的功能,但我们可以引入第三方库,如`pinyin4cpp`,这是一个用C++编写的,用于获取汉字拼音的库。首先,你需要将`pinyin4cpp`库添加到你的项目中,这可能涉及到下载源码,编译,并将其头文件...

    excel文本转换为拼音(全拼、首字母-大写、小写).rar

    6. "文本转换为首字母.bas":这个文件同样是一个VBA的基本模块,但其代码专注于将文本转换为拼音首字母,可以设置首字母的大小写。 7. "汉字转全拼音.xlsm" 和 "汉字转拼音1.xlsm":这两个文件是Excel的宏启用工作...

Global site tag (gtag.js) - Google Analytics