mssql2008中函数的完美应用(mssql2008 函数)

MSSQL2008中函数的完美应用

Microsoft SQL Server 2008中的函数是管理数据库中非常重要的工具,特别是当处理复杂的查询任务时。函数减少了开发时间,减轻了客户端和服务器之间数据传输的负担,改善了系统性能。

函数有很多种,最常用的功能是简化t-sql语句。比如,类似函数string_split(),它可以通过扩展T-SQL提供分隔符来拆分字符串。例如:

CREATE FUNCTION [dbo].[StringSplit]

(@String varchar(8000), @Delimiter char(1)

)RETURNS @OutputTable TABLE

(

Item varchar(8000)

)

AS

BEGIN

DECLARE @Item varchar(8000)

DECLARE @Index int

DECLARE @StingLength int

DECLARE @DelimiterLength int

SET @Index = 1

SET @StingLength = LEN(@String)

SET @DelimiterLength = Len(@Delimiter)

IF @DelimiterLength

RETURN

WHILE @Index

BEGIN

IF SUBSTRING(@String, @Index, @DelimiterLength) = @Delimiter

BEGIN

SET @Item = SUBSTRING(@String, 1, @Index – 1)

INSERT INTO @OutputTable(Item) VALUES(@Item)

SET @String = SUBSTRING(@String, @Index + @DelimiterLength, @StingLength – @Index)

SET @Index = 1

SET @StingLength = LEN(@String)

END

ELSE

SET @Index = @Index + 1

END

IF @StingLength >= 1

INSERT INTO @OutputTable(Item) VALUES (@String)

RETURN

END

也可以使用新函数 datepart() 来在SQL Serveer 2008中查找特定的日期部分,并返回一个整数值:

SELECT DATEPART(MONTH,GETDATE())

以上函数将返回一个值,表示当前月份,一般情况下,该函数会返回一个以数字表示的字符串。

它还支持枚举类型,可以用来指定源字符串中要检索的字符或字符串:

SELECT CHARINDEX (‘C’, ‘MSSQLSERVER’)

该函数将返回1,如果查找到,索引表示在查找字符串中所找到的字符第一次出现的位置。

同样,SQL server 2008也支持乘函数SQRT() 。SQRT函数会返回给定参数的平方根:

SELECT SQRT (4)

该函数将返回以数字表示的“2”。

通过以上示例我们可以看出,MSSQL提供了各种不同的功能,而且处理复杂的查询任务要比仅仅使用T-SQL要容易得多。SQL Server 2008中函数的应用非常完美,提高了系统的效率,减少了开发与维护的时间,为开发者和用户带来了更多便利。


数据运维技术 » mssql2008中函数的完美应用(mssql2008 函数)