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中函数的应用非常完美,提高了系统的效率,减少了开发与维护的时间,为开发者和用户带来了更多便利。