仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 545|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL教程之获得拼音字头的存储历程

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:36:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
甚至一个有经验的Windows管理者也可以轻松部署并开始学习它,而你不需投入一分钱来了解这个数据库。存储历程|拼音--=============================================
--Createscalarfunction(NWGetPYFirst)
--=============================================
IFEXISTS(SELECT*
FROMsysobjects
WHEREname=NNWGetPYFirst)
DROPFUNCTIONNWGetPYFirst
GO
CREATEFUNCTIONNWGetPYFirst
(@strvarchar(500)=)
RETURNSvarchar(500)
AS
BEGIN
Declare@strlenint,
@returnvarchar(500),
@iiint,
@cchar(1),
@chnnchar(1)
--//初始化变量
Declare@pytabletable(
chnchar(2)COLLATEChinese_PRC_CS_ASNOTNULL,
pychar(1)COLLATEChinese_PRC_CS_ASNULL,
PRIMARYKEY(chn)
)
insertinto@pytablevalues(吖,A)
insertinto@pytablevalues(八,B)
insertinto@pytablevalues(嚓,C)
insertinto@pytablevalues(,D)
insertinto@pytablevalues(,E)
insertinto@pytablevalues(发,F)
insertinto@pytablevalues(旮,G)
insertinto@pytablevalues(铪,H)
insertinto@pytablevalues(丌,I)
--insertinto@pytablevalues(丌,J)
insertinto@pytablevalues(咔,K)
insertinto@pytablevalues(垃,L)
insertinto@pytablevalues(`,M)
insertinto@pytablevalues(,N)
insertinto@pytablevalues(噢,O)
insertinto@pytablevalues(r,P)
insertinto@pytablevalues(七,Q)
insertinto@pytablevalues(,R)
insertinto@pytablevalues(仨,S)
insertinto@pytablevalues(他,T)
insertinto@pytablevalues(,U)
--insertinto@pytablevalues(,V)
--insertinto@pytablevalues(,W)
insertinto@pytablevalues(夕,X)
insertinto@pytablevalues(丫,Y)
insertinto@pytablevalues(,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
wherechn<=@chn
else
set@c=@chn

set@return=@return+@c
end
return@return
END
GO
--=============================================
--Exampletoexecutefunction
--=============================================
SELECTdbo.NWGetPYFirst(妄想国家),dbo.NWGetPYFirst(noctwolf分享源码),dbo.NWGetPYFirst()
GO
无疑希望员工得到系统、有深度的培训,显然MySQL在这一点上还做得很不够。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-25 12:47:05 | 只看该作者
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-2-2 22:07:28 | 只看该作者
如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
若天明 该用户已被删除
地板
发表于 2015-2-8 11:32:08 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-25 10:50:29 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
因胸联盟 该用户已被删除
6#
发表于 2015-3-7 20:09:13 | 只看该作者
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
深爱那片海 该用户已被删除
7#
发表于 2015-3-15 13:38:05 | 只看该作者
大家注意一点。如下面的例子:
再见西城 该用户已被删除
8#
发表于 2015-3-22 01:11:18 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-22 11:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表