1. 程式人生 > >mysql datetime與timestamp區別

mysql datetime與timestamp區別

datetime: 

1、儲存格式為YYYYMMDDHHMMSS(年月日時分秒)的整數,所以,它與時區無關,存入的是什麼值就是什麼值,不會根據當前時區進行轉換。

2、從mysql 5.6.4中,可以儲存小數片段,最多到小數點後6位,顯示時格式為 yyyy-MM-dd HH:mm:ss[.222222]

      mysql5.5中,沒有小數片段,精確到秒。所以,我再從5.6版本遷移到5.5版本時,因為生成的sql中datetime(6),所以無法匯入資料庫。

3、儲存範圍:從1000-01-01 00:00:00 到'9999-12-31 23:59:59'

4、長度,8個位元組,datetime(n),n不是儲存長度,而是顯示的小數位數,即使小數位數是0,儲存是也是儲存的6位小數,僅僅顯示0位而已

5、顯示時,顯示日期和時間

timestamp:

1、存入的是自1970-01-01午夜(格林尼治標準時間)以來的秒數,它和unix時間戳相同。所以它與時區有關,查詢時轉為相應的時區時間。比如,儲存的是1970-01-01 00:00:00,客戶端是北京,那麼就加8個時區的小時1970-01-01 08:00:00。

2、有小數片段,至少從5.5就開始有

3、儲存範圍:'1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07'

4、可以當做時間戳使用,在更新時,自動更新,這一列只能由系統自動更新,不能由sql更新,這個在樂觀鎖時有廣泛的應用

6、長度,4位元組,因為儲存長度的原因,決定了它支援的範圍的比datetime的要小

7、顯示時,顯示日期和時間

date

date,時分秒都儲存了,但只顯示日期。對應Java中的java.sql.Date

datetime與時區無關、timestamp與時區有關

1、檢視當前時區,並建立表test_date,一個是timestamp列,一個是datetime列


2、插入兩條資料,相同的時間。修改時區為0時區(格林尼治時區)後,檢視時間,發現timestamp改變了,datetime沒變。


總結

datetime、timestamp精確度都是秒,datetime與時區無關,儲存的範圍廣(1001-9999),timestamp與時區有關,儲存的範圍小(1970-2038)。

相關推薦

mysql datetimetimestamp區別

datetime:  1、儲存格式為YYYYMMDDHHMMSS(年月日時分秒)的整數,所以,它與時區無關,存入的是什麼值就是什麼值,不會根據當前時區進行轉換。 2、從mysql 5.6.4中,可以

Mysql Datetime Timestamp區別和聯絡

原文地址 Datetime 與 Timestamp的區別和聯絡 一個完整的日期格式如下:YYYY-MM-DD HH:MM:SS[.fraction],它可分為兩部分:date部分和time部分,其中,date部分對應格式中的“YYYY-MM-DD”,time部分對應格式中的

關於Mysqldatetime timestamp區別

昨天在伺服器down了一個sql但是往mysql匯入時發現總是報錯 說是我的日期型別不符(之前是)datetime 型別的 之後又改成了 date 型別 ,再次匯入時又是相同的錯誤   好奇心下就上網查了點資料    DATETIME 與

mysql解決datetimetimestamp精確到毫秒的問題

times http null modify sta inno bsp reat alter CREATE TABLE `tab1` ( `tab1_id` VARCHAR(11) DEFAULT NULL, `create` TIMESTAMP(3) NULL D

Mysqldatetimetimestamp區別

sta mysql -m 時區 日期 timestamp 適應 tex 區別 DATETIME日期和時間的組合。支持的範圍是‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘。MySQL以‘YYYY-MM-DD HH:MM:SS‘格式顯示

Mysql中的DATE、DATETIMETIMESTAMP區別

碰到問題查了一下,路還遠: DATETIME、DATE 和 TIMESTAMP型別是相似的。查了一下它們的特性以及它們的相似點與不同點。 DATETIME型別:          DATETIME 型別同時包含日期和時間資訊的值。即MyS

MySQL中的datetimetimestamp比較

相同 顯示 TIMESTAMP列的顯示格式與DATETIME列相同。換句話說,顯示寬度固定在19字元,並且格式為YYYY-MM-DD HH:MM:SS。 不同 範圍 datetime 以'YYYY-MM-DD HH:MM:SS'格式檢索和顯示DATETIME值。支援的範圍為'1000-01-0

python-連線MySQLmysql.connectorMySQLdb區別

  1.安裝mysql-connector 命令    pip install mysql-connector  import mysql.connector cnx = mysql.connector.connect(user='roo

小記:datetime timestamp 相互轉換遇到的坑

事情是這樣的,今天遇到一個業務場景:按照比賽的時間start_at作為分頁查詢的條件獲取賽程列表,首先初始化20條資料(資料庫用的是MongoDB) 事情是這樣的,今天遇到一個業務場景:按照比賽的時間start_at作為分頁查詢的條件獲取賽程列表,首先初始化20條資料(資料庫用的是Mongo

DATETIMETIMESTAMP

DATETIME與TIMESTAMP都能表達一個完整的日期格式:YYYY-MM-DD HH:MM:SS[.fraction] eg: mysql> create table test(id int,hiredate timestamp); Query OK, 0 rows af

MySQL long timestamp 轉換

long 轉 timestamp:FROM_UNIXTIME 示例: FROM_UNIXTIME(1249488000) timestamp轉long:UNIX_TIMESTAMP 示例: UNIX_TIMESTAMP(buytime)

Hibernate配置檔案中資料型別datetimestamp區別

例如: <property name="createDate" type="timestamp" column="createDate"/> <property name="createDate" type="date" column="createDat

mysql中的date、datetimetimestamp型別java date之間的轉換問題

java中Date和String之間的轉換 /** *程式1 *將date轉換成String *得到像 2018-11-26 這種格式的日期字串 */ public static String gainDate(Date date){     SimpleDateFormat

【小家SQL】MySql資料型別---日期時間型別的使用(含datetimetimestamp區別

每篇一句 練武不練功,到老一場空。 程式設計師應該注重內功的修煉,那才是核心競爭力 說在前面 在這一路學習過來,每次不管看書還是網上看的資料,對於MySQL資料型別中的時間日期型別總是一掃而過,不曾停下來認認真真的研究學習。最近看了一本關於MySql的書

Mysql】欄位型別datetimetimeStamp,time的區別

author:咔咔 wechat:fangkangfk   datetime: 需要同時包含日期和時間資訊的值時。MySQL檢索並且以'YYYY-MM-DD HH:MM:SS'格式顯示DATETIME值,支援的範圍是'1000-01-01 00:00:00'到'9999

MySQL中date、year、datetimetimestamp和time資料型別的區別

MySQL 日期型別:日期格式、所佔儲存空間、日期範圍 比較。 日期型別 儲存空間 日期格式 日期範圍 datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59

Mysql中key 、primary key 、unique key index區別

條件 那是 database 表空間 可用 where 進行 utf8 擁有 索引被用來快速找出在一個列上用一特定值的行。沒有索引,MySQL不得不首先以第一條記錄開始並然後讀完整個表直到它找出相關的行。 表越大,花費時間越多。如果表對於查詢的列有一個索引,MySQL能快

模塊MysqlOracle區別

報錯 lib func 獨立 內置函數 區別 共享庫 rac 第一次 1 什麽是模塊? 常見的場景:一個模塊就是一個包含了python定義和聲明的文件,文件名就是模塊名字加上.py的後綴。 但其實import加載的模塊分為四個通用類別:    1 使用python編寫

MySQL存儲引擎--MyISAMInnoDB區別

多應用 基本 binlog sele detail bin insert details text MyISAM 和InnoDB 講解   InnoDB和MyISAM是許多人在使用MySQL時最常用的兩個表類型,這兩個表類型各有優劣,視具體應用而定。基本的差別為:MyISA

MysqlOracle區別

結構 序列 其他 htm 判斷 update .cn 鍵值 http Mysql與Oracle區別文章分類:數據庫周五去一家公司去面試,那公司經理問了關於Mysql與Oracle的區別問題,以前沒有總結,回答也不是很好,只是憑感覺,先總結如下:1. Oracle是大型數據