欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用MYSQL TIMESTAMP字段進行時間加減運算問題

 更新時間:2023年02月06日 10:02:22   作者:蟻方陣  
這篇文章主要介紹了使用MYSQL TIMESTAMP字段進行時間加減運算問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MYSQL TIMESTAMP字段進行時間加減運算

在數(shù)據(jù)分析過程中,想當然地對TIMESTAMP字段進行運算,導致結(jié)果謬之千里

計算公式如下

-- create_time與week_time的聲明都是TIMESTAMP(), 要求精確到分鐘 --
SELECT (sa.create_time - sa.week_time)/(1000 * 60)
from alarm_sla_1 sa

當然正確的解法是利用timestampdiff函數(shù),如下:

SELECT timestampdiff(minute, sa.create_time, sa.week_time)
from alarm_sla_1 sa

但有意思的問題在于,MYSQL明明支持減法操作,為何操作的結(jié)果又大相徑庭?

類似的問題還有,TIMESTAMP字段的時間精度是什么?

從MYSQL的官方實例中可以看到(請見后續(xù)的參考文檔),TIMESTAMP字段的小數(shù)部分確定了秒的經(jīng)度,3位小數(shù)精確到毫秒,6位小數(shù)精確到微秒,如下:

聲明方式小數(shù)長度精度
TIMESTAMP(3)3毫秒
TIMESTAMP(6)6微秒

按照上面的推論,那么默認的聲明TIMESTAMP應該精確到秒,那么應該相減的結(jié)果應該得到秒,測試語句如下:

SELECT sa.week_time - sa.create_time, timestampdiff(second, sa.create_time, sa.week_time)
from alarm_sla_1 sa

但最后的結(jié)果見下表:

相減結(jié)果函數(shù)結(jié)果
100001286412

顯然,并不存在相關性,差異何止里計?

后來繼續(xù)進行了指定經(jīng)度的操作運算,結(jié)論依舊如此。

DATETIME 與 TIMESTAMP的區(qū)別

特性DATETIMETIMESTAMP
時間范圍1000-01-01 00:00:00到9999-12-31 23:59:591970-01-01 00:00:01到2038-01-09 03:14:07
存儲空間8+3(秒的精度)4+3(秒的精度)
格式轉(zhuǎn)換不支持支持UTC
多時區(qū)支持不支持,固定時區(qū)不支持
創(chuàng)建索引不能
查詢后緩存結(jié)果

結(jié)論

MYSQL中TIMESTAMP字段直接進行相減操作,可能得到難以理解的結(jié)果,請慎用。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

參考文檔

相關文章

  • 詳解MySQL主鍵唯一鍵重復插入解決方法

    詳解MySQL主鍵唯一鍵重復插入解決方法

    我們插入數(shù)據(jù)的時候,有可能碰到重復數(shù)據(jù)插入的問題,那么MySQL主鍵唯一鍵重復插入如何解決,本文就詳細的來介紹一下,感興趣的可以了解一下
    2021-09-09
  • mysql如何將id重新修改為遞增

    mysql如何將id重新修改為遞增

    這篇文章主要介紹了mysql如何將id重新修改為遞增,本文模擬場景結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • MySQL判斷空值的三種方法

    MySQL判斷空值的三種方法

    在創(chuàng)建表時,可以指定的列是否可以不包含值,如果在一個列不包含值,則其稱其為空值NULL,NULL一個特殊值,代表缺失的值或者不適用的情況,表示未知數(shù)據(jù),本文給大家介紹了MySQL判斷空值的三種方法,需要的朋友可以參考下
    2024-03-03
  • MySQL中的存儲過程異常處理

    MySQL中的存儲過程異常處理

    這篇文章主要介紹了MySQL中的存儲過程異常處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 一文學習MySQL?意向共享鎖、意向排他鎖、死鎖

    一文學習MySQL?意向共享鎖、意向排他鎖、死鎖

    這篇文章主要介紹了MySQL?意向共享鎖、意向排他鎖、死鎖,包括InnoDB表級鎖,意向共享鎖和意向排他鎖及操作方法,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • mysql 導出select語句結(jié)果到excel文件遇到問題及解決方法

    mysql 導出select語句結(jié)果到excel文件遇到問題及解決方法

    這篇文章主要介紹了mysql 導出select語句結(jié)果到excel文件遇到問題及解決方法的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • Mysql中replace與replace into的用法講解

    Mysql中replace與replace into的用法講解

    今天小編就為大家分享一篇關于Mysql中replace與replace into的用法講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MySQL范圍查詢優(yōu)化的場景實例詳解

    MySQL范圍查詢優(yōu)化的場景實例詳解

    范圍訪問方法使用單一索引去檢索表中的數(shù)據(jù)包含一個或者多個索引值的行記錄,下面這篇文章主要給大家介紹了關于MySQL范圍查詢優(yōu)化的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • MySQL 不用存儲過程循環(huán)插入數(shù)據(jù)的方法

    MySQL 不用存儲過程循環(huán)插入數(shù)據(jù)的方法

    在MySQL中,使用INSERT INTO VALUES語句可以一次性插入多行數(shù)據(jù),提高插入效率,還可通過Python的pymysql庫生成和執(zhí)行插入語句,這不僅減少了操作時間,還提高了代碼的簡潔性和執(zhí)行效率
    2024-09-09
  • MySQL事務與鎖實例教程詳解

    MySQL事務與鎖實例教程詳解

    事務是指滿足ACID特性的的一組操作,可以通過Commit提交事務,也可以也可以通過Rollback進行回滾。會存在中間態(tài)和一致性狀態(tài),也是真正在數(shù)據(jù)庫表中存在的狀態(tài)
    2022-11-11

最新評論