乐观 发表于 2015-1-16 22:36:27

MYSQL教程之获得拼音字头的存储历程

甚至一个有经验的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

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

冷月葬花魂 发表于 2015-2-25 10:50:29

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

因胸联盟 发表于 2015-3-7 20:09:13

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。

深爱那片海 发表于 2015-3-15 13:38:05

大家注意一点。如下面的例子:

再见西城 发表于 2015-3-22 01:11:18

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
页: [1]
查看完整版本: MYSQL教程之获得拼音字头的存储历程