zoukankan      html  css  js  c++  java
  • sql 时间截取 分组 获得小时数据常用的方法

           switch (buttondate)
                        {
                            case "hours":
                                where += " and DataCreateOn>DATEADD(HOUR,-24,GETDATE()) ";//" and TO_DAYS(now()) - TO_DAYS(DataCreateOn) <= 7 ";
                                break;
                            case "twodays":
                                where += " and DataCreateOn>DATEADD(HOUR,-48,GETDATE()) ";//" and TO_DAYS(now()) - TO_DAYS(DataCreateOn) <= 7 ";
                                break;
                            case "week":
                                where += " and datediff(day,datacreateon,getdate())<=7 ";//" and TO_DAYS(now()) - TO_DAYS(DataCreateOn) <= 7 ";
                                break;
                            case "month":
                                where += "and datediff(day,datacreateon,getdate())<=30 ";
                                break;
                            case "qq":
                                where += " and datediff(qq,DataCreateOn,getdate())=1 ";
                                break;
                            case "year":
                                where += " and  datediff(year,DataCreateOn,getdate()-1)=0 ";
                                break;
                        
                        }

    查询中 24小时,两天,一周,一月.季度,年

    下边是查询时间 查询字符串只保留到日例如:2020-12-12,与数据库时间字段不统一问题

      where += " and  convert(char(10),DataCreateOn,120) >=  '" + strStartDate + "' and  convert(char(10),DataCreateOn,120)<='" + strEndDate +"' ";
     string columns = "  Position,datepart(YY,DataCreateOn) as year,datepart(mm,DataCreateOn) as month,datepart(dd,DataCreateOn) as day,datepart(hh,DataCreateOn) as hour , avg(Datavalue)as Datavalue ";
                    string groupBy = " group by Position,datepart(YY,DataCreateOn),datepart(mm,DataCreateOn),datepart(dd,DataCreateOn), datepart(hh,DataCreateOn) ";
                    string orderby = " order by year,month,day,hour ";

    上边是 sql 按小时分组之后,为了显示出列字段

     select getdate()

    DataCreateOn='2020-12-05 08:34:18.843'

    四季

    当前时间季度 datediff(qq,DataCreateOn,getdate())=0  //冬季 10,11,12  月时间范围内

    上一季度datediff(qq,DataCreateOn,getdate())=1 //秋季 7,8 ,9

                  datediff(qq,DataCreateOn,getdate())=2 //夏季4,5,6,

                  datediff(qq,DataCreateOn,getdate())=3 //春季1,2,3,

  • 相关阅读:
    自动化测试-appium常用元素
    自动化测试-微信小程序
    自动化测试-环境搭建appium for windows
    安全测试-docker搭建sonar完成代码质量检测
    工具安装-pycharm使用已配置的虚拟环境
    安全测试-sonarscanner扫描代码
    工具安装-java集成到maven
    iOS 提升代码的安全性,可以做哪些措施???
    iOS 绘制一个表盘时钟,秒针效果可以“扫秒/游走”
    iOS 关于BTC 一些知识点
  • 原文地址:https://www.cnblogs.com/zuochanzi/p/14080845.html
Copyright © 2011-2022 走看看