路上走着呢 2015-11-11 07:01 采纳率: 0%
浏览 2058
已结题

sql数据问题。某个时间段内汇总特别慢,而其他时间段汇总就很快,这是什么原因呢?

同一个表,有时间字段,比如我现在查询2015年5月份数据特别的慢,有时候根本就查不出来,而其他月份的数据就很快。

  • 写回答

1条回答 默认 最新

  • qq_32730069 2015-11-11 07:16
    关注

    本文对应Sql Server 中常用的时间查询的进行一些汇总,例如查询当天的、本周的、本月的、本季度的,某个时间段内的时间。

    实例
    实例(我的)表名:mytable 字段名:mydate

    (一)、当天(某两个时间段)

    select * from mytable where DATEDIFF(dd,mydate,GETDATE())=0语法:DATEDIFF(datepart,startdate,enddate)
    复制代码
    意义:DATEDIFF() 函数返回两个日期之间的天数。

    datepart 参数值:(表1-1)
    datepart
    缩写

    yy, yyyy
    季度
    qq, q

    mm, m
    年中的日
    dy, y

    dd, d

    wk, ww
    星期
    dw, w
    小时
    hh
    分钟
    mi, n

    ss, s
    毫秒
    ms
    微妙
    mcs
    纳秒
    ns

    例如:
    SELECT DATEDIFF(dd,'2012-5-17','2012-12-18') AS DiffDate
    复制代码

    结果:
    DiffDate
    1

    (二)、本周
    select * from mytable where
    DATEPART(wk, mydate)==DATEPART(wk,GETDATE()) and -- 周时间相等
    DATEPART(yy, mydate) = DATEPART(yy, GETDATE()) -- 年时间相等
    复制代码
    语法:DATEDIFF(datepart,date)
    意义:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

    datepart
    参数值:见表(1-1)。

    (三)、本月
    select * from mytable where
    DATEPART(mm, mydate)==DATEPART(mm,GETDATE()) and -- 月时间相等
    DATEPART(yy, mydate) = DATEPART(yy, GETDATE()) -- 年时间相等
    复制代码
    语法:DATEDIFF(datepart,date)
    意义:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

    datepart
    参数值:见表(1-1)。
    ...其它如上语法。

    总结

    希望本文对大家有用,如有好的建议欢迎留言补充,如果对您有用,请点击支持,谢谢
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月29日

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝