SQL Server简单实现数据的日报和月报功能

(编辑:jimmy 日期: 2024/12/29 浏览:2)

本文实例讲述了SQL Server简单实现数据的日报和月报功能。分享给大家供大家参考,具体如下:

--320, SQL SERVER 日报
--查询2009-01-01当天客户A1,A2,A3的订单数量
SELECT Cust_Name
   , CONVERT(CHAR(10), Order_Date, 120) Order_Date
   , SUM(Qty) Qty
FROM Orders_Big
WHERE 1=1
   AND Cust_Name IN ('A1', 'A2', 'A3')
   AND Order_Date >= '2009-01-01'
   AND Order_Date<'2009-01-02'
   /*AND Order_Date -- BETWEEN...AND相当于>=和<=
      BETWEEN '2009-01-01'
         AND '2009-01-02'*/
GROUP BY Cust_Name
   , CONVERT(CHAR(10), Order_Date, 120)
ORDER BY 2, 1
--321. ORACLE 日报
--查询2009-01-01当天客户A1,A2,A3的订单数量
SELECT Cust_Name
 , TO_CHAR(Order_Date, 'YYYY-MM-DD') Order_Date --方法一:转换成字符串类型
 --, TRUNC(Order_Date) Order_Date --方法二:将时分秒信息截断
 , SUM(Qty) Qty
FROM Orders_Big
WHERE 1=1
   AND Cust_Name IN ('A1', 'A2', 'A3')
   AND Order_Date >= DATE'2009-01-01'
   AND Order_Date<DATE'2009-01-02'
GROUP BY Cust_Name
    , TO_CHAR(Order_Date, 'YYYY-MM-DD')--方法一
    --, TRUNC(Order_Date)--方法二
ORDER BY 2, 1
------------------------------10.2------------------------------------
--326,SQL SERVER 月报
SELECT Cust_Name
   , CONVERT(CHAR(7), Order_Date, 120) Order_YrMs
   , CAST(CONVERT(CHAR(7), Order_Date, 120) + '-01' AS DATETIME) Order_Date
   , SUM(Qty) Qty
FROM Orders_Big
WHERE 1=1
  AND Cust_Name IN ('A1', 'A2', 'A3')
  AND Order_Date >= '2009-01-01'
  AND Order_Date<'2009-02-01'
GROUP BY Cust_Name
    , CONVERT(CHAR(7), Order_Date, 120)
ORDER BY 2, 1
--326, ORACLE
SELECT Cust_Name
  , TO_CHAR(Order_Date, 'YYYY-MM') Order_YrMs --方法1
  --, TRUNC(Order_Date, 'MM') Order_Date--方法2
  , SUM(Qty) Qty
FROM Orders_Big
WHERE 1=1
  AND Cust_Name IN ('A1', 'A2', 'A3')
  AND Order_Date >= DATE'2009-01-01'
  AND Order_Date<DATE'2009-02-01'
GROUP BY Cust_Name
  , TO_CHAR(Order_Date, 'YYYY-MM')--方法1
  --, TRUNC(Order_Date, 'MM')--方法2
ORDER BY 2, 1

希望本文所述对大家SQL Server数据库程序设计有所帮助。

一句话新闻

Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。