赞
踩
包括基本sql、安全性、完整性三个方面
DATEPART
是 SQL Server 中的一个函数,用于从指定日期中提取特定的日期部分,比如年份、月份、日或时间。这个函数对于处理日期和时间数据非常有用,特别是当你需要基于日期的某个具体部分进行过滤、比较或计算时。
DATEPART
函数的基本语法如下:
DATEPART(datepart, date)
datepart
是你想从日期中提取的部分,如年(year)、月(month)、日(day)、小时(hour)等。date
是日期表达式,从中提取值。这里列出了一些常用的日期部分参数:
year
或 yy
或 yyyy
:年份quarter
或 qq
或 q
:季度month
或 mm
或 m
:月份dayofyear
或 dy
或 y
:一年中的第几天day
或 dd
或 d
:日week
或 wk
或 ww
:一年中的第几周weekday
或 dw
:星期几,1是周天hour
:小时minute
:分钟second
:秒millisecond
:毫秒下面是一些 DATEPART
函数的使用示例:
提取年份:
SELECT DATEPART(year, '2023-06-08') AS YearPart;
结果将是 2023
。
查找当前日期是星期几:
SELECT DATEPART(weekday, GETDATE()) AS WeekDay;
这将返回当前日期是星期几,结果是一个数字,1 表示星期天,2 表示星期一,依此类推。
过滤特定月份的数据:
SELECT *
FROM Orders
WHERE DATEPART(month, OrderDate) = 6;
这个查询将返回所有在六月份创建的订单。
在SQL Server中,inserted
和 deleted
是两个特殊的表,通常在触发器(triggers)中使用。它们用于存储由DML操作(如INSERT、UPDATE、DELETE)引起的数据更改。这里是如何使用这两个表的详细说明:
inserted
表包含新插入或更新后的行。inserted
表来获取更新后的薪水信息。CREATE TRIGGER RecordSalaryChange
ON Employees
AFTER UPDATE
AS
BEGIN
INSERT INTO SalaryAudit(EmployeeID, OldSalary, NewSalary, ChangeDate)
SELECT i.ID, d.Salary, i.Salary, GETDATE()
FROM inserted i
JOIN deleted d ON i.ID = d.ID
WHERE i.Salary != d.Salary
END
deleted
表包含被删除或更新前的行。deleted
表。CREATE TRIGGER BackupDeletedEmployees
ON Employees
BEFORE DELETE
AS
BEGIN
INSERT INTO EmployeesBackup
SELECT * FROM deleted
END
在处理UPDATE操作时,inserted
和 deleted
表常常一起使用,其中inserted
表存储新的行数据,deleted
表存储原有的行数据。这允许触发器对更新前后的数据进行比较和处理。
常见问题:
(1)Design an E-R diagram
(2)Design a set of relational schemas, and a list of constraints, including primarykey and foreignkey constraints
(3)Explain what normal form each relational schema satisfies, and why?
例题:
常见问题:
(1)Give a relational algebra expression using Cartesian product equivalent to the query
(2)Draw a syntax tree for the above relational algebra expression and give a procedure for query optimization
(3)Give the optimized relational algebra expression
常见问题:
Add lock and unlock instructions to transactions Ti
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。