Hướng dẫn mysql filter by month - bộ lọc mysql theo tháng



    $listSQL = "SELECT op.name as prodname,count(*) total 
                FROM oc_order_product op 
                INNER JOIN oc_order o ON op.order_id = o.order_id 
                INNER JOIN oc_product_to_category p2c ON op.product_id = p2c.product_id 
                INNER JOIN oc_category_description cd ON cd.category_id = p2c.category_id ";
    $listSQL = $listSQL."where lower(cd.name) LIKE '%".$category_name."%' 
                         AND YEAR(o.date_added) = '".$StartDate."' 
                         AND o.order_status_id > '0' ";
    $listSQL = $listSQL."GROUP BY op.name ORDER BY o.date_added ASC";

Tôi có truy vấn này nơi tôi đang hiển thị tên sản phẩm và đếm theo năm.

Tôi muốn hiển thị tên sản phẩm và cho mỗi sản phẩm, hiển thị tháng và đếm cho tháng đó cho năm cụ thể đó.

Ví dụ, cho năm 2015, hiển thị tất cả 12 tháng và theo đó số lượng sản phẩm cho tháng đó.

Cảm ơn

Hướng dẫn mysql filter by month - bộ lọc mysql theo tháng

Đã hỏi ngày 28 tháng 6 năm 2016 lúc 21:49Jun 28, 2016 at 21:49

7

Truy vấn ban đầu của bạn trông khá gần, nhưng sử dụng các trường không tập hợp, không tổng hợp "bên ngoài" một nhóm thường không phải là một ý tưởng tốt trừ khi chúng đến từ một bảng có khóa chính đầy đủ là một phần của nhóm theo danh sách. Điều đó nói rằng, điều này sẽ cung cấp cho bạn những gì bạn muốn.

SELECT op.name AS prodname
, YEAR(o.date_added) AS oYear
, MONTH(o.date_added) AS oMonth
, COUNT(DISTINCT o.order_id) AS numOfOrders
FROM ...
GROUP BY prodname, oYear, oMonth
ORDER BY prodname, oYear, oMonth
;

[...] là bản gốc của bạn

mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
        -> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
        -> '03:00:01.999997'
3 và
mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
        -> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
        -> '03:00:01.999997'
4

Đã trả lời ngày 28 tháng 6 năm 2016 lúc 22:01Jun 28, 2016 at 22:01

Hướng dẫn mysql filter by month - bộ lọc mysql theo tháng

UueerdouueerdoUueerdo

Huy hiệu vàng 15,5K11 gold badge16 silver badges21 bronze badges

Phần này mô tả các chức năng có thể được sử dụng để thao tác các giá trị thời gian. Xem Phần & NBSP; 11.2, Loại dữ liệu ngày và thời gian, để biết mô tả phạm vi của các giá trị mỗi ngày và loại thời gian và các định dạng hợp lệ trong đó các giá trị có thể được chỉ định.

Dưới đây là một ví dụ sử dụng các chức năng ngày. Truy vấn sau chọn tất cả các hàng có giá trị

mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
        -> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
        -> '03:00:01.999997'
5 từ trong vòng 30 ngày qua:

mysql> SELECT something FROM tbl_name
    -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;

Truy vấn cũng chọn các hàng với ngày nằm trong tương lai.

Các chức năng mong đợi các giá trị ngày thường chấp nhận các giá trị DateTime và bỏ qua phần thời gian. Các chức năng mong đợi các giá trị thời gian thường chấp nhận các giá trị DateTime và bỏ qua phần ngày.

Các chức năng trả về ngày hoặc thời gian hiện tại, mỗi chức năng chỉ được đánh giá một lần cho mỗi truy vấn khi bắt đầu thực thi truy vấn. Điều này có nghĩa là nhiều tham chiếu đến một hàm như

mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
        -> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
        -> '03:00:01.999997'
6 trong một truy vấn duy nhất luôn tạo ra cùng một kết quả. . cho bất kỳ từ đồng nghĩa của họ.

Các hàm

mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
2,
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
3,
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
4 và
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
5 Trả về các giá trị trong múi giờ phiên hiện tại, có sẵn là giá trị phiên của biến hệ thống
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
6. Ngoài ra,
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
7 giả định rằng đối số của nó là giá trị DateTime trong múi giờ phiên. Xem Phần & NBSP; 5.1.13, Múi giờ của máy chủ MySQL hỗ trợ.

Một số chức năng ngày có thể được sử dụng với ngày Zero Zero hoặc ngày không đầy đủ như

mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
8, trong khi các chức năng khác không thể. Các chức năng trích xuất các phần của ngày thường hoạt động với các ngày không đầy đủ và do đó có thể trả về 0 khi bạn có thể mong đợi một giá trị khác biệt. Ví dụ:zero dates or incomplete dates such as
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
8, whereas others cannot. Functions that extract parts of dates typically work with incomplete dates and thus can return 0 when you might otherwise expect a nonzero value. For example:

mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
        -> 0, 0

Các chức năng khác mong đợi ngày hoàn chỉnh và trả lại

mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
9 cho ngày không đầy đủ. Chúng bao gồm các chức năng thực hiện số học ngày hoặc các phần bản đồ của ngày đến tên. Ví dụ:

mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
        -> NULL
mysql> SELECT DAYNAME('2006-05-00');
        -> NULL

Một số chức năng là nghiêm ngặt khi được thông qua giá trị hàm

mysql> SELECT CURDATE();
        -> '2008-06-13'
mysql> SELECT CURDATE() + 0;
        -> 20080613
0 như đối số của chúng và từ chối ngày không đầy đủ với một ngày bằng 0:
mysql> SELECT CURDATE();
        -> '2008-06-13'
mysql> SELECT CURDATE() + 0;
        -> 20080613
1,
mysql> SELECT CURDATE();
        -> '2008-06-13'
mysql> SELECT CURDATE() + 0;
        -> 20080613
2,
mysql> SELECT CURDATE();
        -> '2008-06-13'
mysql> SELECT CURDATE() + 0;
        -> 20080613
3,
mysql> SELECT CURDATE();
        -> '2008-06-13'
mysql> SELECT CURDATE() + 0;
        -> 20080613
4,
mysql> SELECT CURDATE();
        -> '2008-06-13'
mysql> SELECT CURDATE() + 0;
        -> 20080613
5,
mysql> SELECT CURDATE();
        -> '2008-06-13'
mysql> SELECT CURDATE() + 0;
        -> 20080613
6,
mysql> SELECT CURDATE();
        -> '2008-06-13'
mysql> SELECT CURDATE() + 0;
        -> 20080613
7, ____.

Các giây phân số cho các giá trị

SELECT op.name AS prodname
, YEAR(o.date_added) AS oYear
, MONTH(o.date_added) AS oMonth
, COUNT(DISTINCT o.order_id) AS numOfOrders
FROM ...
GROUP BY prodname, oYear, oMonth
ORDER BY prodname, oYear, oMonth
;
02,
SELECT op.name AS prodname
, YEAR(o.date_added) AS oYear
, MONTH(o.date_added) AS oMonth
, COUNT(DISTINCT o.order_id) AS numOfOrders
FROM ...
GROUP BY prodname, oYear, oMonth
ORDER BY prodname, oYear, oMonth
;
03 và
SELECT op.name AS prodname
, YEAR(o.date_added) AS oYear
, MONTH(o.date_added) AS oMonth
, COUNT(DISTINCT o.order_id) AS numOfOrders
FROM ...
GROUP BY prodname, oYear, oMonth
ORDER BY prodname, oYear, oMonth
;
04 được hỗ trợ, với độ chính xác tối đa. Các chức năng lấy các đối số thời gian chấp nhận các giá trị với các giây phân số. Trả về các giá trị từ các hàm thời gian bao gồm các giây phân đoạn khi thích hợp.

  • ________ 105, khoảng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07), bổ sung (____ 106, ________ 109)ADDDATE(
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    09)

    Khi được gọi với dạng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    10 của đối số thứ hai,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    11 là một từ đồng nghĩa với
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    2. Hàm liên quan
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    13 là một từ đồng nghĩa với
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    3. Để biết thông tin về đối số
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    10
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07, hãy xem các khoảng thời gian.

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'

    Khi được gọi với dạng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    09 của đối số thứ hai, MySQL coi đó là một số nguyên số ngày được thêm vào
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06.

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
  • ________ 119, ________ 120)

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    21 thêm
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 vào
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 và trả về kết quả.
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 là biểu thức thời gian hoặc thời gian và
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 là biểu thức thời gian.

    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
  • ________ 126, ________ 127, ________ 128)

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    1 Chuyển đổi giá trị DateTime
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    30 từ múi giờ được đưa ra bởi
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    27 thành múi giờ được đưa ra bởi
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    28 và trả về giá trị kết quả. Các múi giờ được chỉ định như được mô tả trong Phần & NBSP; 5.1.13, hỗ trợ múi giờ của máy chủ MySQL. Hàm này trả về
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    9 nếu các đối số không hợp lệ.

    Nếu giá trị rơi ra khỏi phạm vi được hỗ trợ của loại

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    04 khi được chuyển đổi từ
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    27 sang UTC, thì không có sự chuyển đổi nào xảy ra. Phạm vi
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    04 được mô tả trong Phần & NBSP; 11.2.1, Cú pháp loại dữ liệu ngày và thời gian.

    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
  • mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    7

    Trả về ngày hiện tại dưới dạng giá trị trong định dạng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    38 'hoặc
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    39, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
  • SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    40,
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    4

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    40 và
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    4 là từ đồng nghĩa với
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    7.

  • SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    45,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    46])

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    45 và
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    3 là từ đồng nghĩa với
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    8.

  • SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    50,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    51])

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    50 và
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    2 là từ đồng nghĩa với
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6.

  • SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    55])

    Trả về thời gian hiện tại dưới dạng giá trị trong định dạng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    56 hoặc
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    57, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số. Giá trị được thể hiện trong múi giờ phiên.

    Nếu đối số

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58 được đưa ra để chỉ định độ chính xác giây của phân số từ 0 đến 6, giá trị trả về bao gồm một phần giây của nhiều chữ số đó.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    0
  • DATE(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06)

    Trích xuất phần ngày của ngày hoặc biểu thức DateTime

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    1
  • DATEDIFF(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20)

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    63 Trả về
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 -
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 được biểu thị bằng giá trị trong các ngày từ ngày này sang ngày khác.
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 và
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 là các biểu thức ngày hoặc ngày và thời gian. Chỉ các phần ngày của các giá trị được sử dụng trong tính toán.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    2
  • ________ 168, khoảng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07), ________ 171, khoảng
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07)

    Các chức năng này thực hiện số học ngày. Đối số

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74 Chỉ định ngày bắt đầu hoặc giá trị DateTime.
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06 là một biểu thức chỉ định giá trị khoảng sẽ được thêm hoặc trừ từ ngày bắt đầu.
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06 được đánh giá là một chuỗi; Nó có thể bắt đầu với
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    77 cho các khoảng âm.
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07 là một từ khóa chỉ ra các đơn vị trong đó biểu thức nên được giải thích.

    Để biết thêm thông tin về cú pháp khoảng thời gian, bao gồm danh sách đầy đủ các trình xác định ____107, hình thức dự kiến ​​của đối số

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06 cho mỗi giá trị
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07 và các quy tắc để giải thích toán hạng theo số học theo thời gian, xem các khoảng thời gian.

    Giá trị trả về phụ thuộc vào các đối số:

    • SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      82 Nếu đối số
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      74 là giá trị
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      82 và các tính toán của bạn chỉ liên quan đến các phần
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      85,
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      86 và
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      87 (nghĩa là không có phần thời gian).

    • SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      03 Nếu đối số đầu tiên là giá trị
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      03 (hoặc
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      04) hoặc nếu đối số đầu tiên là giá trị
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      82 và
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      07 sử dụng
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      93,
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      94 hoặc
      SELECT op.name AS prodname
      , YEAR(o.date_added) AS oYear
      , MONTH(o.date_added) AS oMonth
      , COUNT(DISTINCT o.order_id) AS numOfOrders
      FROM ...
      GROUP BY prodname, oYear, oMonth
      ORDER BY prodname, oYear, oMonth
      ;
      
      95.

    • Chuỗi nếu không.

    Để đảm bảo rằng kết quả là

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    03, bạn có thể sử dụng
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    97 để chuyển đổi đối số đầu tiên thành
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    03.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    3
  • DATE_FORMAT(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00)

    Định dạng giá trị

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74 theo chuỗi
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00.

    Các nhà xác định được hiển thị trong bảng sau đây có thể được sử dụng trong chuỗi

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00. Ký tự
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    04 được yêu cầu trước các ký tự định dạng định dạng. Các nhà xác định cũng áp dụng cho các chức năng khác:
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    05,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    06,
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7.

    Người xác địnhSự mô tả
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    08
    Tên tuần viết tắt (________ 209 ..________ 210)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    11
    Tên tháng viết tắt (________ 212 ..________ 213)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    14
    Tháng, số (____ ____ 215 ..________ 216)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    17
    Ngày trong tháng với hậu tố tiếng Anh (
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    18,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    19,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    20,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    21,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    22
    Ngày của tháng, số (____ 223 ..________ 224)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    25
    Ngày của tháng, số (________ 215 ..________ 224)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    28
    Microseconds (________ 229 ..________ 230)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    31
    Giờ (________ 223 ..________ 233)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    34
    Giờ (________ 235 ..________ 216)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    37
    Giờ (________ 235 ..________ 216)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    37
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    40
    Phút, số (________ 223 ..________ 242)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    43
    Ngày trong năm (____ ____ 244 ..________ 245)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    46
    Giờ (________ 215 ..________ 233)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    49
    Giờ (________ 250 ..________ 216)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    52
    Tên tháng (________ 253 ..________ 254)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    55
    Tháng, số (____ 223 ..________ 216)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    58
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    59 hoặc
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    60
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    61
    Thời gian, 12 giờ (
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    62 sau đó là
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    59 hoặc
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    60)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    65
    Giây (________ 223 ..________ 242)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    65
    Giây (________ 223 ..________ 242)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    68
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    71
    Thời gian, 24 giờ (
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    62)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    73
    Tuần (________ 223 ..________ 275), trong đó Chủ nhật là ngày đầu tiên trong tuần;
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8 Chế độ 0
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    77
    Tuần (________ 223 ..________ 275), trong đó thứ Hai là ngày đầu tiên trong tuần;
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8 Chế độ 1
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    81
    Tuần (________ 235 ..________ 275), trong đó Chủ nhật là ngày đầu tiên trong tuần;
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8 Chế độ 2; được sử dụng với
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    85
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    86
    Tên ngày trong tuần (________ 292 ..________ 293)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    94
    Ngày trong tuần (____ ____ 215 = Chủ nhật ..________ 296 = Thứ Bảy)
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    85
    Năm trong tuần mà Chủ nhật là ngày đầu tiên trong tuần, số, bốn chữ số; được sử dụng với
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    81
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    90
    Năm trong tuần, nơi thứ Hai là ngày đầu tiên của tuần, số, bốn chữ số; được sử dụng với
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    86
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    01
    Năm, số, bốn chữ số
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    02
    Năm, số (hai chữ số)
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    03
    Một nhân vật
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    04 theo nghĩa đen
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    05
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    06, cho bất kỳ
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    066666
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    06
    not listed above

    Phạm vi cho các nhà xác định tháng và ngày bắt đầu bằng 0 do thực tế là MySQL cho phép lưu trữ các ngày không đầy đủ như

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    08.

    Ngôn ngữ được sử dụng cho tên ngày và tháng và chữ viết tắt được kiểm soát bởi giá trị của biến hệ thống

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    09 (Phần & NBSP; 10.16, Hỗ trợ Locale của Máy chủ MySQL).

    Đối với

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    73,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    77,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    81 và
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    86, xem mô tả của hàm
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8 để biết thông tin về các giá trị chế độ. Chế độ ảnh hưởng đến cách đánh số tuần xảy ra.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    15 Trả về một chuỗi với một bộ ký tự và đối chiếu được đưa ra bởi
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    16 và
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    17 để nó có thể trả về các tên tháng và ngày trong tuần chứa các ký tự không phải ASCII.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    4
  • ________ 171, khoảng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07)

    Xem mô tả cho

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    2.

  • DAY(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    23 là một từ đồng nghĩa với
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    24.

  • DAYNAME(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Trả về tên của ngày trong tuần cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74. Ngôn ngữ được sử dụng cho tên được điều khiển bởi giá trị của biến hệ thống
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    09 (Phần & NBSP; 10.16, Hỗ trợ Locale của Máy chủ MySQL).

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    5
  • DAYOFMONTH(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Trả về ngày trong tháng cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74, trong phạm vi
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    50 đến
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    24 hoặc
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15 cho các ngày như
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    33 hoặc
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    34 có phần không ngày nào.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    6
  • DAYOFWEEK(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Trả về chỉ số ngày trong tuần cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74 (
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    50 = Chủ nhật,
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    38 = Thứ Hai, Tiết,
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    39 = Thứ Bảy). Các giá trị chỉ số này tương ứng với tiêu chuẩn ODBC.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    7
  • DAYOFYEAR(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Trả về ngày trong năm cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74, trong phạm vi
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    50 đến
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    45.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    8
  • Trích xuất (________ 107 từ

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Hàm

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    46 sử dụng các loại định dạng
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07 tương tự như
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    2 hoặc
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    3, nhưng trích xuất các phần từ ngày thay vì thực hiện số học ngày. Để biết thông tin về đối số
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07, hãy xem các khoảng thời gian.

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    9
  • mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    51)

    Cho một số ngày

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    52, trả về giá trị
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    82.

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    0

    Sử dụng

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    54 thận trọng vào ngày cũ. Nó không nhằm sử dụng với các giá trị đi trước sự ra đời của lịch Gregorian (1582). Xem Phần & NBSP; 12.9, Số lịch được sử dụng bởi MySQL?

  • ________ 355 [, ________ 200])

    Trả về một đại diện của

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    57 dưới dạng giá trị chuỗi ký tự hoặc DateTime. Giá trị được trả về được thể hiện bằng múi giờ phiên. .

    Nếu

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00 bị bỏ qua, hàm này trả về giá trị
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    03.

    Nếu

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    57 là một số nguyên, thì độ chính xác giây của
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    03 là bằng không. Khi
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    57 là một giá trị thập phân, độ chính xác của giây phân đoạn của
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    03 giống như độ chính xác của giá trị thập phân, lên đến tối đa là 6. khi
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    57 là số điểm nổi, độ chính xác của phân đoạn là 6.

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00 được sử dụng để định dạng kết quả theo cách tương tự như chuỗi định dạng được sử dụng cho hàm
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    15. Nếu
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00 được cung cấp, giá trị được trả về là
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    71.

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    1

    Ghi chú

    Nếu bạn sử dụng

    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7 và
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    5 để chuyển đổi giữa các giá trị trong múi giờ không UTC và các giá trị dấu thời gian UNIX, việc chuyển đổi sẽ bị mất vì ánh xạ không phải là một-một theo cả hai hướng. Để biết chi tiết, xem mô tả của hàm
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7.

  • mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    75

    Trả về một chuỗi định dạng. Hàm này hữu ích khi kết hợp với các hàm

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    15 và
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    05.

    Các giá trị có thể cho các đối số thứ nhất và thứ hai dẫn đến một số chuỗi định dạng có thể (đối với các nhà xác định được sử dụng, xem bảng trong mô tả hàm

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    15). Định dạng ISO đề cập đến ISO 9075, không phải ISO 8601.

    Gọi chức năngKết quả
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    79
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    80
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    81
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    82
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    83
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    82
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    83
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    85
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    86
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    88
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    89
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    90
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    91
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    92
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    93
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    92
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    93
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    90
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    91
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    92
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    93
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    95
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    97
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    98
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    99
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    98
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    99
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    00
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    01
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    02

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    03

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    2
  • mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    05

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    06

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    3
  • LAST_DAY(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    07

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    4
  • mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    08LOCALTIME([
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58])

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    04 cũng có thể được sử dụng làm đối số đầu tiên cho
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    10, trong trường hợp đó, hàm trả về các giá trị tương tự như đối với
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    03.

  • mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    12)LOCALTIMESTAMP([
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58])

    Trả lại giờ cho

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    13. Phạm vi của giá trị trả về là
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15 đến
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    33 cho các giá trị thời gian trong ngày. Tuy nhiên, phạm vi của các giá trị ____102 thực sự lớn hơn nhiều, do đó
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    17 có thể trả về các giá trị lớn hơn
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    33.

  • Lấy một ngày hoặc giá trị datetime và trả về giá trị tương ứng cho ngày cuối cùng của tháng. Trả về

    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    9 nếu đối số không hợp lệ.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    21, địa phương ([____ 158])

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    5
  • mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    21 và
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    24 là từ đồng nghĩa với
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    26, LocalTimestamp ([____ 158])

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    26 và
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    29 là từ đồng nghĩa với
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6.

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    6
  • MICROSECOND(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06)

    ________ 431, ________ 432)

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    7
  • MINUTE(

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    13)

    Trả về một ngày, được đưa ra giá trị năm và ngày trong năm.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    32 phải lớn hơn 0 hoặc kết quả là
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    9.

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    8
  • MONTH(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    ________ 435, ________ 436, ________ 437)

    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    9
  • MONTHNAME(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Trả về giá trị thời gian được tính từ các đối số

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    38,
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    36 và
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    37.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    0
  • NOW([

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58])

    Đối số

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    37 có thể có một phần phân số.

    Trả về các micro giây từ thời điểm hoặc biểu thức DateTime

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06 dưới dạng một số trong phạm vi từ
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15 đến
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    30.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    1

    Trả về phút cho

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    13, trong phạm vi
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15 đến
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    42.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    2

    Trả về tháng cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74, trong phạm vi
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    50 đến
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    16 cho tháng 1 đến tháng 12 hoặc
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15 cho các ngày như
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    33 hoặc
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    34 có phần không tháng.

    Trả về tên đầy đủ của tháng cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74. Ngôn ngữ được sử dụng cho tên được điều khiển bởi giá trị của biến hệ thống
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    09 (Phần & NBSP; 10.16, Hỗ trợ Locale của Máy chủ MySQL).

  • Trả về ngày và thời gian hiện tại dưới dạng giá trị trong định dạng

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    61 'hoặc
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    62, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số. Giá trị được thể hiện trong múi giờ phiên.

    Nếu đối số

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58 được đưa ra để chỉ định độ chính xác giây của phân số từ 0 đến 6, giá trị trả về bao gồm một phần giây của nhiều chữ số đó.

    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6 trả về một thời gian không đổi cho biết thời gian mà tuyên bố bắt đầu thực thi. .

    Ngoài ra, câu lệnh

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    67 ảnh hưởng đến giá trị được trả về bởi
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6 nhưng không phải bởi
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66. Điều này có nghĩa là các cài đặt dấu thời gian trong nhật ký nhị phân không có tác dụng đối với các yêu cầu của
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66. Đặt dấu thời gian thành giá trị khác biệt khiến mỗi lần gọi tiếp theo là
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6 trả về giá trị đó. Đặt dấu thời gian thành 0 hủy bỏ hiệu ứng này để
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6 một lần nữa trả về ngày và thời gian hiện tại.not a date value.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    3
  • Xem mô tả cho

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66 để biết thêm thông tin về sự khác biệt giữa hai chức năng.

    ________ 474, ________ 352)not date values.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    4
  • QUARTER(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Thêm

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    52 tháng vào giai đoạn
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    77 (ở định dạng
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    78 hoặc
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    79). Trả về một giá trị trong định dạng
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    79.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    5
  • SECOND(

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    13)

    Ghi chú

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    6
  • Đối số khoảng thời gian

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    77 không phải là giá trị ngày.

    ________ 482, ________ 483)

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    7
  • Trả về số tháng giữa các giai đoạn

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    84 và
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    83.
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    84 và
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    83 phải ở định dạng
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    78 hoặc
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    79. Lưu ý rằng các đối số khoảng thời gian
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    84 và
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    83 không phải là giá trị ngày.

    Trả lại một phần tư của năm cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74, trong phạm vi
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    50 đến
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    95.

    Máy chủ quét

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    07 cố gắng khớp với nó. Chuỗi định dạng có thể chứa các ký tự và định dạng theo nghĩa đen bắt đầu bằng
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    04. Các ký tự theo nghĩa đen trong
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00 phải phù hợp theo nghĩa đen trong
    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    07. Các định dạng xác định trong
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00 phải khớp với phần ngày hoặc phần thời gian trong
    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    07. Đối với các nhà xác định có thể được sử dụng trong
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00, hãy xem mô tả chức năng
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    15.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    8

    Quét bắt đầu vào đầu

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    07 và thất bại nếu
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00 được tìm thấy không khớp. Các ký tự bổ sung ở cuối
    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    07 bị bỏ qua.

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    9

    Ngày hoặc phần thời gian không xác định có giá trị 0, do đó các giá trị được chỉ định không hoàn chỉnh trong

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    07 tạo ra kết quả với một số hoặc tất cả các phần được đặt thành 0:

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    0

    Phạm vi kiểm tra trên các phần của các giá trị ngày được mô tả trong Phần & NBSP; 11.2.2, Ngày Date, DateTime và Timestamp loại. Điều này có nghĩa là, ví dụ, ngày Zero Zero có giá trị hoặc ngày có giá trị phần là 0 được cho phép trừ khi chế độ SQL được đặt để không cho phép các giá trị đó.zero dates or dates with part values of 0 are permitted unless the SQL mode is set to disallow such values.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    1

    Nếu chế độ

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    29 SQL được bật, ngày 0 không được phép. Trong trường hợp đó,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    05 trả về
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    9 và tạo cảnh báo:

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    2

    Ghi chú

    Bạn không thể sử dụng định dạng

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    32 để chuyển đổi chuỗi một tuần thành một ngày vì sự kết hợp của một năm và tuần không xác định duy nhất một năm và tháng nếu tuần vượt qua ranh giới một tháng. Để chuyển đổi một tuần một lần thành một ngày, bạn cũng nên chỉ định ngày trong tuần:

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    3

  • Tiểu mục (________ 174, khoảng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07), phân khu (____ 106, ________ 109)
    , SUBDATE(
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    09)

    Khi được gọi với dạng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    10 của đối số thứ hai,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    13 là một từ đồng nghĩa với
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    3. Để biết thông tin về đối số
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    10
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07, hãy xem cuộc thảo luận cho
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    2.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    4

    Mẫu thứ hai cho phép sử dụng giá trị số nguyên cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    09. Trong những trường hợp như vậy, nó được hiểu là số ngày được trừ vào ngày hoặc biểu thức DateTime
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    5
  • SUBTIME(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20)

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    48 Trả về
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 -
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 được biểu thị bằng giá trị ở cùng định dạng với
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23.
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 là biểu thức thời gian hoặc thời gian và
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 là biểu thức thời gian.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    6
  • SYSDATE([

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58])

    Trả về ngày và thời gian hiện tại dưới dạng giá trị trong định dạng

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    61 'hoặc
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    62, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.

    Nếu đối số

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58 được đưa ra để chỉ định độ chính xác giây của phân số từ 0 đến 6, giá trị trả về bao gồm một phần giây của nhiều chữ số đó.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66 trả về thời gian mà nó thực hiện. Điều này khác với hành vi cho
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6, trả về một thời gian không đổi cho biết thời gian mà tuyên bố bắt đầu thực thi. .

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    2

    Ngoài ra, câu lệnh

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    67 ảnh hưởng đến giá trị được trả về bởi
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6 nhưng không phải bởi
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66. Điều này có nghĩa là các cài đặt dấu thời gian trong nhật ký nhị phân không có tác dụng đối với các yêu cầu của
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66.

    Bởi vì

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66 có thể trả về các giá trị khác nhau ngay cả trong cùng một câu lệnh và không bị ảnh hưởng bởi
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    67, nên nó không có tính tự nhiên và do đó không an toàn để sao chép nếu ghi nhật ký nhị phân dựa trên câu lệnh được sử dụng. Nếu đó là một vấn đề, bạn có thể sử dụng ghi nhật ký dựa trên hàng.

    Ngoài ra, bạn có thể sử dụng tùy chọn

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    67 để khiến
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66 trở thành bí danh cho
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    6. Điều này hoạt động nếu tùy chọn được sử dụng trên cả nguồn và bản sao.

    Bản chất không xác định của

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    66 cũng có nghĩa là các chỉ số không thể được sử dụng để đánh giá các biểu thức đề cập đến nó.

  • TIME(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06)

    Trích xuất phần thời gian của biểu thức thời gian hoặc DateTime

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06 và trả về nó dưới dạng chuỗi.

    Hàm này không an toàn cho sao chép dựa trên tuyên bố. Một cảnh báo được ghi lại nếu bạn sử dụng chức năng này khi

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    73 được đặt thành
    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    74.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    8
  • TIMEDIFF(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20)

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    77 Trả về
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 -
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 được biểu thị bằng giá trị thời gian.
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 và
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 là các chuỗi được chuyển đổi thành các biểu thức
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    02 hoặc
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    03; Đây phải là cùng loại chuyển đổi sau.

    Kết quả được trả về bởi

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    77 được giới hạn trong phạm vi cho phép các giá trị ____102. Ngoài ra, bạn có thể sử dụng một trong hai hàm
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    5 và
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7, cả hai đều trả về số nguyên.

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    9
  • Dấu thời gian (________ 106), Dấu thời gian (________ 123, ________ 120), TIMESTAMP(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20)

    Với một đối số duy nhất, hàm này trả về ngày hoặc biểu thức DateTime

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06 dưới dạng giá trị DateTime. Với hai đối số, nó thêm biểu thức thời gian
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    20 vào ngày hoặc biểu thức DateTime
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    23 và trả về kết quả dưới dạng giá trị DateTime.

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    0
  • TIMESTAMPADD(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07,
    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    95,
    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    96)

    Thêm biểu thức số nguyên

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    95 vào ngày hoặc biểu thức DateTime
    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    96. Đơn vị cho
    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    95 được đưa ra bởi đối số
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07, đó là một trong những giá trị sau:
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    01 (microseconds),
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    02,
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    03,
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    17,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    87,
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    06,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    86, ____.

    Giá trị

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07 có thể được chỉ định bằng cách sử dụng một trong các từ khóa như được hiển thị hoặc với tiền tố là
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    11. Ví dụ,
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    87 và
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    13 cả hai đều hợp pháp.

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    1
  • TIMESTAMPDIFF(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07,
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    15,
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    16)

    Trả về

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    16 -
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    15, trong đó
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    15 và
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    16 là các biểu thức ngày hoặc dữ liệu. Một biểu thức có thể là một ngày và một dữ liệu khác; Giá trị ngày được coi là một DateTime có thời gian phần
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    21 khi cần thiết. Đơn vị cho kết quả (một số nguyên) được đưa ra bởi đối số
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07. Các giá trị pháp lý cho
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    07 giống như các giá trị được liệt kê trong mô tả của hàm
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    24.

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    2

    Ghi chú

    Thứ tự của ngày hoặc các đối số DateTime cho hàm này trái ngược với chức năng được sử dụng với hàm

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    25 khi được gọi với 2 đối số.

  • TIME_FORMAT(

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    13,
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00)

    Điều này được sử dụng giống như hàm

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    15, nhưng chuỗi
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    00 có thể chỉ chứa các định dạng định dạng chỉ trong nhiều giờ, phút, giây và micro giây. Các nhà xác định khác tạo ra giá trị
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    9 hoặc
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15.

    Nếu giá trị

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    13 chứa một phần giờ lớn hơn
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    33, các định dạng định dạng
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    31 và
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    46 giờ tạo ra một giá trị lớn hơn phạm vi thông thường là
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    36. Các định dạng định dạng giờ khác tạo ra giá trị giờ Modulo 12.

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    3
  • TIME_TO_SEC(

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    13)

    Trả về đối số

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    13, được chuyển đổi thành giây.

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    4
  • TO_DAYS(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Được đưa ra một ngày

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74, trả về số ngày (số ngày kể từ năm 0).

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    5

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    6 không nhằm sử dụng với các giá trị trước sự ra đời của lịch Gregorian (1582), bởi vì nó không tính đến những ngày bị mất khi lịch được thay đổi. Đối với ngày trước năm 1582 (và có thể là một năm sau đó ở các địa phương khác), kết quả từ chức năng này không đáng tin cậy. Xem Phần & NBSP; 12.9, Số lịch được sử dụng bởi MySQL?

    Hãy nhớ rằng MySQL chuyển đổi các giá trị năm chữ số theo dạng ngày thành hình dạng bốn chữ số bằng cách sử dụng các quy tắc trong Phần & NBSP; 11.2, các loại dữ liệu ngày và thời gian. Ví dụ:

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    42 và
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    43 được xem là ngày giống hệt nhau:

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    6

    Trong MySQL, ngày 0 được xác định là

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    33, mặc dù ngày này được coi là không hợp lệ. Điều này có nghĩa là, đối với
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    33 và
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    46,
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    6 trả về các giá trị được hiển thị ở đây:

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    7

    Điều này đúng cho dù chế độ máy chủ SQL

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    48 có được bật hay không.

  • TO_SECONDS(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06)

    Được đưa ra một ngày hoặc datetime

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06, trả về số giây kể từ năm 0. Nếu
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06 không phải là một ngày hợp lệ hoặc giá trị datetime, trả về
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    9.

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    8

    Giống như

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    6,
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    7 không được sử dụng với các giá trị trước sự ra đời của lịch Gregorian (1582), bởi vì nó không tính đến những ngày bị mất khi lịch được thay đổi. Đối với ngày trước năm 1582 (và có thể là một năm sau đó ở các địa phương khác), kết quả từ chức năng này không đáng tin cậy. Xem Phần & NBSP; 12.9, Số lịch được sử dụng bởi MySQL?

    Giống như

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    6,
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    7, chuyển đổi các giá trị năm hai chữ số theo dạng ngày thành bốn chữ số bằng cách sử dụng các quy tắc trong Phần & NBSP; 11.2, các loại dữ liệu ngày và thời gian.

    Trong MySQL, ngày 0 được xác định là

    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    33, mặc dù ngày này được coi là không hợp lệ. Điều này có nghĩa là, đối với
    mysql> SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');
            -> 0, 0
    33 và
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    46,
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    7 trả về các giá trị được hiển thị ở đây:

    mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    mysql> SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
            -> '2008-02-02'
    9

    Điều này đúng cho dù chế độ máy chủ SQL

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    48 có được bật hay không.

  • UNIX_TIMESTAMP([

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74])

    Được đưa ra một ngày hoặc datetime

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06, trả về số giây kể từ năm 0. Nếu
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    06 không phải là một ngày hợp lệ hoặc giá trị datetime, trả về
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    9.

    Giống như

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    6,
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    7 không được sử dụng với các giá trị trước sự ra đời của lịch Gregorian (1582), bởi vì nó không tính đến những ngày bị mất khi lịch được thay đổi. Đối với ngày trước năm 1582 (và có thể là một năm sau đó ở các địa phương khác), kết quả từ chức năng này không đáng tin cậy. Xem Phần & NBSP; 12.9, Số lịch được sử dụng bởi MySQL?

    Giá trị trả về là một số nguyên nếu không có đối số nào được đưa ra hoặc đối số không bao gồm phần giây phân đoạn hoặc

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    78 nếu một đối số được đưa ra bao gồm một phần giây.

    Khi đối số

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74 là cột
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    04,
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7 sẽ trả về giá trị dấu thời gian bên trong trực tiếp, không có chuyển đổi chuỗi trực tiếp trực tiếp.string-to-Unix-timestamp conversion.

    Phạm vi hợp lệ của các giá trị đối số giống như đối với kiểu dữ liệu

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    04:
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    83 UTC đến
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    84 UTC. Nếu bạn chuyển một ngày ngoài phạm vi cho
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7, nó sẽ trả về
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15.

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    0

    Nếu bạn sử dụng

    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7 và
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    5 để chuyển đổi giữa các giá trị trong múi giờ không UTC và các giá trị dấu thời gian UNIX, việc chuyển đổi sẽ bị mất vì ánh xạ không phải là một-một theo cả hai hướng. Ví dụ, do các quy ước cho các thay đổi múi giờ địa phương như thời gian tiết kiệm ánh sáng ban ngày (DST),
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7 có thể ánh xạ hai giá trị khác biệt trong múi giờ không UTC cho cùng một giá trị dấu thời gian Unix.
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    5 Bản đồ giá trị đó chỉ trở lại một trong các giá trị ban đầu. Dưới đây là một ví dụ, sử dụng các giá trị khác biệt trong múi giờ
    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    91:

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    1

    Nếu bạn muốn trừ các cột

    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
            -> '2004-01-01 13:00:00'
    mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
            -> '2004-01-01 22:00:00'
    7, bạn có thể muốn chuyển chúng vào số nguyên đã ký. Xem Phần & NBSP; 12.11, Chức năng Cast Cast và toán tử.

  • mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    93,
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    9

    Trả về ngày UTC hiện tại dưới dạng giá trị trong định dạng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    38 'hoặc
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    39, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    2
  • mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    97, UTC_TIME ([____ 158])UTC_TIME([
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58])

    Trả về thời gian UTC hiện tại dưới dạng giá trị ở định dạng

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    56 hoặc
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    57, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.

    Nếu đối số

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58 được đưa ra để chỉ định độ chính xác giây của phân số từ 0 đến 6, giá trị trả về bao gồm một phần giây của nhiều chữ số đó.

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    3
  • mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    02, UTC_Timestamp ([____ 158])UTC_TIMESTAMP([
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58])

    Trả về ngày và thời gian UTC hiện tại dưới dạng giá trị trong định dạng

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    61 'hoặc
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    62, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.

    Nếu đối số

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    58 được đưa ra để chỉ định độ chính xác giây của phân số từ 0 đến 6, giá trị trả về bao gồm một phần giây của nhiều chữ số đó.

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    4
  • WEEK(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74[,
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    08])

    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    02, UTC_Timestamp ([____ 158])

    Trả về ngày và thời gian UTC hiện tại dưới dạng giá trị trong định dạng

    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    61 'hoặc
    mysql> SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);
            -> NULL
    mysql> SELECT DAYNAME('2006-05-00');
            -> NULL
    62, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.

    Hàm này trả về số tuần cho
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74. Hình thức hai đối số của
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8 cho phép bạn chỉ định xem tuần bắt đầu vào Chủ nhật hay thứ Hai và liệu giá trị trả lại sẽ nằm trong phạm vi từ
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15 đến
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    75 hoặc từ
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    50 đến
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    75. Nếu đối số
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    08 bị bỏ qua, giá trị của biến hệ thống
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    16 được sử dụng. Xem Phần & NBSP; 5.1.7, Biến hệ thống máy chủ của Cameron.
    Bảng sau đây mô tả cách thức đối số
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    08 hoạt động.
    Cách thứcNgày đầu tuần
    0Phạm viTuần 1 là tuần đầu tiên…Chủ nhật
    10-53Tuần 1 là tuần đầu tiên…Chủ nhật
    2Phạm viTuần 1 là tuần đầu tiên…Chủ nhật
    30-53Tuần 1 là tuần đầu tiên…Chủ nhật
    4Phạm viTuần 1 là tuần đầu tiên…Chủ nhật
    50-53Tuần 1 là tuần đầu tiên…Chủ nhật
    6Phạm viTuần 1 là tuần đầu tiên…Chủ nhật
    70-53Tuần 1 là tuần đầu tiên…Chủ nhật

    0-53with 4 or more days this year, weeks are numbered according to ISO 8601:1988:

    • với một ngày chủ nhật trong năm nay

    • Thứ hai

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    5

    Với 4 ngày trở lên trong năm nay

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    6

    1-53the week number in the given year. This makes use of the

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8 function reliable when combined with other functions that extract a date part from a date.

    với một ngày thứ Hai trong năm nay

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    7

    Đối với các giá trị

    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    08 với ý nghĩa của với 4 ngày trở lên trong năm nay, các tuần được đánh số theo ISO 8601: 1988:

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    8
  • WEEKDAY(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Nếu tuần chứa ngày 1 tháng 1 có 4 ngày trở lên trong năm mới, thì đó là tuần 1.

    mysql> SELECT ADDDATE('2008-01-02', 31);
            -> '2008-02-02'
    9
  • WEEKOFYEAR(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Nếu không, đó là tuần cuối cùng của năm trước, và tuần tiếp theo là tuần 1.WEEK(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74,3).

    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    0
  • YEAR(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74)

    Trả về năm cho

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74, trong phạm vi
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    48 đến
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    49 hoặc
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15 cho ngày Zero Zero.zero date.

    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    1
  • Tuần một tuần (____ 174), một tuần (________ 174, ________ 708), YEARWEEK(

    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    74,
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    08)

    Trả lại năm và tuần cho một ngày.Năm kết quả có thể khác với năm trong cuộc tranh luận về ngày đầu tiên và tuần cuối cùng của năm.

    Đối số

    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    08 hoạt động chính xác giống như đối số
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    08 thành
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8.Đối với cú pháp đơn lẻ, giá trị
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    08 là 0 được sử dụng.Không giống như
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8, giá trị của
    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    16 không ảnh hưởng đến
    SELECT op.name AS prodname
    , YEAR(o.date_added) AS oYear
    , MONTH(o.date_added) AS oMonth
    , COUNT(DISTINCT o.order_id) AS numOfOrders
    FROM ...
    GROUP BY prodname, oYear, oMonth
    ORDER BY prodname, oYear, oMonth
    ;
    
    01.

    mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
            -> '2008-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
            -> '03:00:01.999997'
    2

    Số tuần khác với những gì hàm

    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8 sẽ trả về (
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15) cho các đối số tùy chọn
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    15 hoặc
    mysql> SELECT something FROM tbl_name
        -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    50, vì
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613
    8 sau đó trả về tuần trong bối cảnh của năm đã cho.