• SQLServer查询最近一天,三天,一周,一月,一季度方法


    一天 select * from T_news where datediff(day,addtime,getdate())=0

    三天 select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>= 0

    一周 select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime) = DATEPART(yy, GETDATE()))

    注意:此时不能用 datediff 差值为7,因为,datediff只表示间隔数

    一月    select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, addtime) = DATEPART(mm, GETDATE()))

    一季度 select * from T_news where DATEPART(qq, addtime) = DATEPART(qq, GETDATE()) and DATEPART(yy, addtime) = DATEPART(yy, GETDATE())

    SQL Server DATEPART() 函数

    定义和用法

    DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

    语法

    DATEPART(datepart,date)

    date 参数是合法的日期表达式。datepart 参数可以是下列的值:

    datepart缩写
    yy, yyyy
    季度 qq, q
    mm, m
    年中的日 dy, y
    dd, d
    wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    ss, s
    毫秒 ms
    微妙 mcs
    纳秒 ns

    实例

    假设我们有下面这个 "Orders" 表:

    OrderIdProductNameOrderDate
    1 'Computer' 2008-12-29 16:25:46.635

    我们使用如下 SELECT 语句:

    SELECT DATEPART(yyyy,OrderDate) AS OrderYear,
    DATEPART(mm,OrderDate) AS OrderMonth,
    DATEPART(dd,OrderDate) AS OrderDay
    FROM Orders
    WHERE OrderId=1
    

    结果:

    OrderYearOrderMonthOrderDay
    2008 12 29
  • 相关阅读:
    Java实现 N的阶乘
    Java实现 N的阶乘
    Java实现 N的阶乘
    Java实现 N的阶乘
    Java实现 洛谷 P1015 回文数(N进制回文数)
    Java实现 洛谷 P1015 回文数(N进制回文数)
    Java实现 洛谷 P1015 回文数(N进制回文数)
    Java实现 洛谷 P1015 回文数(N进制回文数)
    Java实现 洛谷 P1015 回文数(N进制回文数)
    Windows线程生灭(图文并茂)
  • 原文地址:https://www.cnblogs.com/xiaocai0923/p/2181874.html
Copyright © 2020-2023  润新知