create view dbo.pview
as SELECT a.name1,a.number,b.detail
FROM 表
where a.deal_time between DATEADD(dd, - 3,LEFT(CONVERT(char(19), GETDATE(), 121), 11)
and LEFT(CONVERT(char(19),GETDATE(), 121),11
and CONVERT(int, (getdate() - '1901-01-01')) / 7 = 0
union all
SELECT a.name1,a.number,b.detail
FROM 表
where a.deal_time between DATEADD(dd, - 1,LEFT(CONVERT(char(19), GETDATE(), 121), 11)
and LEFT(CONVERT(char(19)
as SELECT a.name1,a.number,b.detail
FROM 表
where a.deal_time between DATEADD(dd, - 3,LEFT(CONVERT(char(19), GETDATE(), 121), 11)
and LEFT(CONVERT(char(19),GETDATE(), 121),11
and CONVERT(int, (getdate() - '1901-01-01')) / 7 = 0
union all
SELECT a.name1,a.number,b.detail
FROM 表
where a.deal_time between DATEADD(dd, - 1,LEFT(CONVERT(char(19), GETDATE(), 121), 11)
and LEFT(CONVERT(char(19)
vivianfdlpw() ( ) 信誉:100
一定要这样实现吗??
谢谢:)
AS
SELECT A.NAME1,A.NUMBER,B.DETAIL
FROM TABLE(表名)
WHERE (A.DEAL_TIME BETWEEN DATEADD(DD, - 3,LEFT(CONVERT(CHAR(19), GETDATE(), 121), 11)
AND LEFT(CONVERT(CHAR(19),GETDATE(), 121),11 AND CONVERT(int, (getdate() - '1901-01-01')) / 7 = 0)
OR (CONVERT(int, (getdate() - '1901-01-01')) / 7 != 0 AND A.DEAL_TIME BETWEEN DATEADD(DD, - 1,LEFT(CONVERT(CHAR(19), GETDATE(), 121), 11)
在WHERE语句里判断。
就是说当前是不是星期一,是的话就用星期五到当前日期的条件,不是星期一就用前天的条件
CONVERT(int, (getdate() - '1901-01-01')) / 7只可能有等于0 或者 不等于0两种情况,所以OR两边的语句有且肯定只有一个能满足。