--
--2.8.2节示例
--
--使用聚合函数
USE AdventureWorks
GO
SELECT COUNT(*) AS Pcount,AVG(StandardCost) Pavg,MIN(StandardCost) Pmin,
MAX(StandardCost) Pmax
FROM Production.Product
--
--2.8.3节示例
--
--使用日期函数
USE AdventureWorks;
GO
SELECT e.EmployeeID, YEAR(GETDATE())-YEAR(e.BirthDate) AS Age
FROM HumanResources.Employee e
ORDER BY Age
--
--2.8.4节示例
--
SELECT ABS(-1.0), ABS(0.0), ABS(1.0)
SELECT RAND(100),RAND(),RAND()
SELECT ROUND(745.4,-1),ROUND(745.4,-2)
--
--2.8.5节示例
--
SELECT CHARINDEX('b','abcdabcd') --找第一个b
SELECT CHARINDEX('b','abcdabcd',CHARINDEX('b','abcdabcd')+1) --找第二个b
--使用SUBSTRING函数
USE AdventureWorks;
GO
SELECT e.LoginID,
SUBSTRING(e.LoginID,CHARINDEX('\',e.LoginID)+1,LEN(e.LoginID)-CHARINDEX('\',e.LoginID)) AS UserLoginName
FROM HumanResources.Employee e
--
--2.8.6节示例
--
--使用OBJECT_ID协助创建表
IF(OBJECT_ID('dbo.Student') IS NOT NULL) --判断Student表已经存在
DROP TABLE dbo.Student --删除表
GO
CREATE TABLE Student --创建表
(
Sid int IDENTITY PRIMARY KEY,
Sname nvarchar(10) NOT NULL
)
--使用ISNULL函数
USE AdventureWorks;
GO
SELECT AVG(ISNULL(Weight, 50)) --使用50代替NULL值
FROM Production.Product;