主要使用了 DATEPART函数、DATEADD 函数
DateAdd函数说明
https://www.w3school.com.cn/sql/func_dateadd.asp
DATEPART函数说明
https://www.w3school.com.cn/sql/func_datepart.asp
存储过程定义:
数据库表名 TABLETEST
字段 Value 存储具体数据
字段 Date yyyyMMdd字符串格式数据
CREATE PROCEDURE PROC_GetLastFridayData(@Date VARCHAR(8))
AS
BEGIN
DECLARE @temp varchar(60)
DECLARE @dw INT -- 星期几
SELECT @dw=DATEPART(dw,CONVERT(datetime,@Date))
IF(@dw = 2)
BEGIN
SELECT @temp=CONVERT(varchar(8), DATEADD(dd,-3,@Date), 112)
EYear
ELSE
BEGIN
SELECT @temp=CONVERT(varchar(8), DATEADD(dd,-1,@Date), 112)
EYear
EXEC('SELECT Value FROM TABLETEST WHERE Date = '''+@temp+'''')
END
版权声明:本文为xuhuixuhui_9310原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。