簡體   English   中英

MySQL MIN 和 сonvert_tz

[英]MySQL MIN and сonvert_tz

在將 datetime 轉換為用戶時區后,我嘗試選擇MIN日期, convert_tzCOUNT相同:

MIN(CONVERT_TZ(dateTime,'+00:00', '+03:00')) AS dateTime,
COUNT(CONVERT_TZ(dateTime,'+00:00', '+03:00')) AS daygroup,

它似乎沒有按預期工作。

CREATE TABLE sql_test_a 
( 
    ID         VARCHAR(255), 
    dateTime TIMESTAMP

); 

INSERT INTO sql_test_a (ID, dateTime) VALUES ('1', '2019-04-08 19:51:00');
INSERT INTO sql_test_a (ID, dateTime) VALUES ('2', '2019-04-08 19:52:00');
INSERT INTO sql_test_a (ID, dateTime) VALUES ('3', '2019-04-10 19:53:00');
SELECT 
MIN(CONVERT_TZ(dateTime,'+00:00', '+03:00')) AS dateTime,
COUNT(CONVERT_TZ(dateTime,'+00:00', '+03:00')) AS daygroup,
MIN(dateTime) AS dateTime1,
COUNT(dateTime) AS daygroup1
FROM sql_test_a
ORDER BY dateTime 

當我測試它時,沒有http://sqlfiddle.com似乎轉換為 MIN 輸出 2019-04-08 22:51:00 而未轉換為 MIN 輸出 2019-04-08T19:51:00Z 是否可以用 T 和Z 來自轉換后的 MIN ?

有什么要考慮的...

這是一個只有 131072 行的數據集......

SELECT MIN(CONVERT_TZ(dateTime,'+00:00', '+03:00')) AS dateTime FROM my_table;
+---------------------+
| dateTime            |
+---------------------+
| 2001-01-01 03:00:00 |
+---------------------+
1 row in set (0.56 sec)

SELECT CONVERT_TZ(MIN(dateTime),'+00:00', '+03:00') AS dateTime FROM my_table;
+---------------------+
| dateTime            |
+---------------------+
| 2001-01-01 03:00:00 |
+---------------------+
1 row in set (0.04 sec)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM