美文网首页
SQL语句查询最近N天的日期,没有数据自动补0

SQL语句查询最近N天的日期,没有数据自动补0

作者: 变糊涂 | 来源:发表于2019-08-08 09:23 被阅读0次

    1.一个月第一天的
    Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
    2.本周的星期一
    Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
    3.一年的第一天
    Select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
    4.季度的第一天
    Select DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
    5.当天的半夜
    Select DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
    6.上个月的最后一天
    Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
    7.去年的最后一天
    Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
    8.本月的最后一天
    Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
    9.本年的最后一天
    Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
    10.本月的第一个星期一
    select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

    --日期格式化:
    SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
    SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
    SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
    SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
    SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
    SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
    SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
    SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
    SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
    SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
    SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
    SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
    SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
    SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
    SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
    SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
    SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
    SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
    SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
    SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
    SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
    SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
    SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
    SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
    SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
    SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
    SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
    SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
    SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
    SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
    SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
    SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
    SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
    SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
    SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
    SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
    SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
    SELECT CONVERT(varchar(100), GETDATE(), 121): 2006

    按一个月的天数查询
    select * from (select row_number() over(order by getdate()) id from 表名) a
    where a.id <= DatePart(day,DateAdd(day, -1,'2010-11-1'))
    //按年查询
    select * from (select dateadd(day,id,dateadd(month,-12,dateadd(day,-1,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) ) )) pdate
    from (select row_number() over(order by getdate()) id from 表名) a
    where a.id <= datediff(day,dateadd(month,-12,getdate()),GETDATE()))c

    //sql用where ...in or not in的情况不允许有NULL的值出现条件当中.

    SQL Server 2005 引入几个新的排序(排名)函数,如ROW_NUMBER、RANK、DENSE_RANK等。
    SQL Server 2008之行值构造器
    insert into MyTest4 (id ,fname ,lname , salary) values
    (1 , 'John' , 'Smith' , 150000.00),
    (2 , 'Hillary' , 'Swank' , 250000.00),
    (3 , 'Elisa' , 'Smith' , 120000.00),
    (4 , 'Liz' , 'Carleno' , 151000.00),
    (5 , 'Tony' , 'Mcnamara' , 150300.00)

    相关文章

      网友评论

          本文标题:SQL语句查询最近N天的日期,没有数据自动补0

          本文链接:https://www.haomeiwen.com/subject/btdtjctx.html