SQL Server自定义字符串操作函数介绍

日期: 2010-03-10 作者:Serdar Yegulalp翻译:孙瑞 来源:TechTarget中国 英文

如果你对SQLServerPedia这个网站有所了解,那么就会发现在这里你能够找到很多自定义函数,几乎可以用在任何情况下。最近我就在这个网站上发现了一些字符串操作函数。尽管这些函数通常是用在查询返回数据之后,但是它们在数据库服务器执行方面也是很有用处。   那么我们就来了解一下这些函数:   计算一个字符串在其它字符串中出现的次数。

这个函数使用了一个WHILE循环,还有CHARINDEX和SUBSTRING函数来返回一个正文串,其中的一行为“The inner string is contained in the outer string x times.”。在使用这个函数的时候,你需要进行编……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

如果你对SQLServerPedia这个网站有所了解,那么就会发现在这里你能够找到很多自定义函数,几乎可以用在任何情况下。最近我就在这个网站上发现了一些字符串操作函数。尽管这些函数通常是用在查询返回数据之后,但是它们在数据库服务器执行方面也是很有用处。

  那么我们就来了解一下这些函数:

  计算一个字符串在其它字符串中出现的次数。这个函数使用了一个WHILE循环,还有CHARINDEX和SUBSTRING函数来返回一个正文串,其中的一行为“The inner string is contained in the outer string x times.”。在使用这个函数的时候,你需要进行编辑让它返回一个数值,可以将第26行替换成下面语句:

  SELECT CAST(@n AS VARCHAR(4))

  请注意,这些代码还没有正式包装成一个函数。它只是一个未加约束的程序代码片段,所以你可以按照上面的做法,使用SELECT来返回真正的值。

  在指定点获取一个子字符串的开始与结束。这是一个包装好的SUBSTRING函数,它通过提供起点与终点的方式,允许你快速地获取字符串的一部分。它和替换字符串函数有些类似,而后者允许你进行字符串的部分交换,而同样地你需要提供起点与终点。

  字符串反向。这个函数允许你翻转整个字符串的顺序,或者该字符串中的一小部分。

  字符串Trim。这个函数可以将一个字符串中指定字符的每一个实例进行Trim操作。

  字符串自动换行。这个函数也许是所有这些中最实用的一个,它允许你将一个字符串以规定的长度来进行自动换行。如果你发布的数据是被格式化为定长的,那你就可以使用这个函数来将它进行预格式化并存储一个拷贝以便进行快速检索。

  注意,分割线使用的是空格,而不是连字符或者斜线等等,所以任何超过指定字符长度的行(并在范围内没有空格)都将强制分割成最大长度。同时还需要注意,在第30行中有一个小小的错误:“大于号”显示成“& GT”了,可能是HTML的转换错误。

  我还需要再补充一下,首先如上面所提到的,并不是所有这些函数都被包装成正式函数了。所以在使用的时候你需要根据自身情况将它们进行一下包装。

  其次,每个函数输入的最大参数长度也各有不同;如果你想避免古怪字符串截断这样的问题,可以将输入的类型改成VARCHAR(MAX),在SQL Server 2005以上版本中改成VARCHAR(8000)。这都取决于你函数的用法以及输入限制的严格程度。

作者

Serdar Yegulalp
Serdar Yegulalp

Serdar Yegulalp从1994年到2001年为Windows杂志写作,覆盖了广泛的技术方面。他现在是《The Windows 2000 Power Users Newsletter》一书的出版者,辛勤钻研他擅长的Windows NT, Windows 2000 and Windows XP领域,并为TechTarget写专栏。

翻译

孙瑞
孙瑞

相关推荐

  • SQL Server和T-SQL数据操纵(二)

    很有可能你会碰到一位想用CLR的开发人员,或者你发现自己需要实施一个用标准SQL Server对象和T-SQL语言不容易实现的、复杂的事务规则,所以你就可以用CLR创建一个函数……

  • SQL Server和T-SQL数据操纵(一)

    SQL Server和T-SQL数据操纵包括哪些方面的内容?本文主要介绍了设计、存储过程、自定义函数、以及触发器等方面的内容。