mysql中Timestamp,time,datetime 區別


 

一、TIMESTAMP[(M)]
  時間戳。范圍是’1970-01-01 00:00:00’到2037年。
  TIMESTAMP列用於INSERT或UPDATE操作時記錄日期和時間。
  如果你不分配一個值,表中的第一個TIMESTAMP列自動設置為最近操作的日期和時間。
  也可以通過分配一個NULL值,將TIMESTAMP列設置為當前的日期和時間。
  TIMESTAMP值返回后顯示為’YYYY-MM-DD HH:MM:SS’格式的字符串,
  顯示寬度固定為19個字符。如果想要獲得數字值,應在TIMESTAMP 列添加+0。
  create table demo(
    addtime timestamp
  );
  insert into demo values(null);
  即可插入當前時間。
二、TIME
  時間。范圍是’-838:59:59’到’838:59:59’。
  MySQL以’HH:MM:SS’格式顯示TIME值,但允許使用字符串或數字為TIME列分配值。

  使用now()顯示’HH:MM:SS’

  使用UNIX_TIMESTAMP()顯示’-838:59:59’到’838:59:59’。

  mysql> insert into pluralpoem(title, create_time) values("chunxiao", UNIX_TIMESTAMP());
  Query OK, 1 row affected, 1 warning (0.01 sec)

  mysql> insert into pluralpoem(title, create_time) values("hua",now());
  Query OK, 1 row affected (0.00 sec)

  mysql> select * from pluralpoem;
  +----+------------+-------------+
  | id | title | create_time |
  +----+------------+-------------+
  | 1 | denggaowan | NULL |
  | 2 | chunxiao | 838:59:59 |
  | 3 | hua | 22:45:33 |
  +----+------------+-------------+
  3 rows in set (0.00 sec)


三、DATETIME
  日期和時間的組合。
  支持的范圍是’1000-01-01 00:00:00’到’9999-12-31 23:59:59’。
  MySQL以’YYYY-MM-DD HH:MM:SS’格式顯示DATETIME值,但允許使用字符串或數字為DATETIME列分配值。

四、對於now().,curdate(),curtime(), UNIX_TIMESTAMP()

  NOW()函數以`'YYYY-MM-DD HH:MM:SS'返回當前的日期時間,可以直接存到DATETIME字段中。
  CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。
  CURTIME()以’HH:MM:SS’的格式返回當前的時間,可以直接存到TIME字段中。

  UNIX_TIMESTAMP()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM