sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数
2013-11-15 09:54
435 查看
一、系统函数
1.聚合函数
聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值
AVG、COUNT、COUNT_BIG、MAX 、MIN、SUM......
2.数学函数 ABS ROUND FLOOR CEILING......
3.字符串函数 LEFT LEN LOWER LTRIM REPLACE RIGHT......
4.日期和时间函数 DATEADD DATEDIFF DATENAME DATEPART DAY MONTH YEAR GETDATE
sqlserver日期函数:http://wenku.baidu.com/link?url=wVoEbufUSd06dFyvk6W6AQDjtcjRNY0VzmFJCFLLp6-L8KPyX7ZwG1-muZmoclyDKdL4QhS0WZN7r3EcaHegI7bXELpZA-g5mAjEIpPKAWq
5.其它:
二、自定义函数(可在定义returns 类型后可选添加[WITH ENCRYPTION],表明 函数是被加密的,任何人都不能查看该函数的定义)
特点:用户自定义函数则可以出现在一个查询语句的FROM之后
SQL Server 用户定义的函数 与 存储过程 视图的区别:百度文库中的SQL Server 用户定义的函数 与 存储过程 视图的区别
1.标量值函数
create function funTest (@count int)
returns int
as
begin
return @count+100
end
--测试
print dbo.funTest(10)
2.内联表值函数
create function funTest (@id int)
returns table
as
return (select ttt.* from BD_TradeType tty
inner join XH_TodayTradeTable ttt
on tty.TradeTypeId=ttt.TradeTypeId where tty.TradeTypeId=@id
)
--测试
select * from dbo.funTest(1)
3.多语句表值函数
多语句表值函数允许多条语句来创建表的内容。多语句表值函数可以用来替换使用多个步骤来构建结果集的存储过程
CREATE FUNCTION Sales.ufnSalesByCustomerMS (@CustomerID int)
RETURNS @table TABLE
( ProductID int PRIMARY KEY NOT NULL,
ProductName nvarchar(50) NOT NULL,
TotalSales numeric(38,6) NOT NULL,
TotalInventory int NOT NULL )
AS
BEGIN
INSERT INTO @table
SELECT P.ProductID, P.Name, SUM(SD.LineTotal) AS Total, 0
FROM Production.Product AS P
JOIN Sales.SalesOrderDetail SD ON SD.ProductID = P.ProductID
JOIN Sales.SalesOrderHeader SH ON SH.SalesOrderID = SD.SalesOrderID
WHERE SH.CustomerID = @CustomerID
GROUP BY P.ProductID, P.Name;
UPDATE @table
SET TotalInventory = dbo.ufnGetTotalInventoryStock(ProductID);
RETURN;
END;
--测试
SELECT * FROM Sales. ufnSalesByCustomerMS (30052);
1.聚合函数
聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值
AVG、COUNT、COUNT_BIG、MAX 、MIN、SUM......
2.数学函数 ABS ROUND FLOOR CEILING......
3.字符串函数 LEFT LEN LOWER LTRIM REPLACE RIGHT......
4.日期和时间函数 DATEADD DATEDIFF DATENAME DATEPART DAY MONTH YEAR GETDATE
sqlserver日期函数:http://wenku.baidu.com/link?url=wVoEbufUSd06dFyvk6W6AQDjtcjRNY0VzmFJCFLLp6-L8KPyX7ZwG1-muZmoclyDKdL4QhS0WZN7r3EcaHegI7bXELpZA-g5mAjEIpPKAWq
5.其它:
ISNULL :SELECT AVG(ISNULL(Weight, 50))FROM Production.Product COALESCE:返回其参数中第一个非空表达式 SELECT Name, COALESCE(Class, Color, ProductNumber) AS FirstNotNull FROM Production.Product
二、自定义函数(可在定义returns 类型后可选添加[WITH ENCRYPTION],表明 函数是被加密的,任何人都不能查看该函数的定义)
特点:用户自定义函数则可以出现在一个查询语句的FROM之后
SQL Server 用户定义的函数 与 存储过程 视图的区别:百度文库中的SQL Server 用户定义的函数 与 存储过程 视图的区别
1.标量值函数
create function funTest (@count int)
returns int
as
begin
return @count+100
end
--测试
print dbo.funTest(10)
2.内联表值函数
create function funTest (@id int)
returns table
as
return (select ttt.* from BD_TradeType tty
inner join XH_TodayTradeTable ttt
on tty.TradeTypeId=ttt.TradeTypeId where tty.TradeTypeId=@id
)
--测试
select * from dbo.funTest(1)
3.多语句表值函数
多语句表值函数允许多条语句来创建表的内容。多语句表值函数可以用来替换使用多个步骤来构建结果集的存储过程
CREATE FUNCTION Sales.ufnSalesByCustomerMS (@CustomerID int)
RETURNS @table TABLE
( ProductID int PRIMARY KEY NOT NULL,
ProductName nvarchar(50) NOT NULL,
TotalSales numeric(38,6) NOT NULL,
TotalInventory int NOT NULL )
AS
BEGIN
INSERT INTO @table
SELECT P.ProductID, P.Name, SUM(SD.LineTotal) AS Total, 0
FROM Production.Product AS P
JOIN Sales.SalesOrderDetail SD ON SD.ProductID = P.ProductID
JOIN Sales.SalesOrderHeader SH ON SH.SalesOrderID = SD.SalesOrderID
WHERE SH.CustomerID = @CustomerID
GROUP BY P.ProductID, P.Name;
UPDATE @table
SET TotalInventory = dbo.ufnGetTotalInventoryStock(ProductID);
RETURN;
END;
--测试
SELECT * FROM Sales. ufnSalesByCustomerMS (30052);
相关文章推荐
- 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数
- 《MySQL入门很简单》学习笔记(13)之第13章MySQL函数(关键词:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数、锁函数)
- MySQL 学习<四> MySQL函数简介(数学函数、字符串函数、日期和时间函数)
- Bash中关于日期时间操作的常用自定义函数
- Sql Server 2008 日期和时间函数、数学函数、字符传函数小结
- (总结)工作中常用的js自定义函数——日期时间类
- SQL Server返回当前实例系统日期和时间的函数
- sql server常用数学函数及系统函数
- Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数
- SQL server常用的字符串函数、日期函数、数学函数;
- SQL常用日期时间处理函数
- Sql Server中常用的6个自定义函数分享
- SQL Server 日期和时间函数
- Sql Server 常用自定义函数
- ORACLE 常用函数——日期/时间函数
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响
- ORACLE 常用函数——日期/时间函数
- java中关于时间日期操作的常用函数
- 6、SQL Server:SqlServer时间日期处理函数及字符串转换
- 数据库常用函数大全(数学函数、字符串函数、其他函数)