mysql 怎么存储毫秒,MySQL存储毫秒数据的方法
這篇文章主要為大家詳細(xì)介紹了MySQL存儲(chǔ)毫秒數(shù)據(jù)的方法,具有一定的參考價(jià)值,可以用來參考一下。
感興趣的小伙伴,下面一起跟隨512筆記的小編小韻來看看吧!
有相當(dāng)一部分剛接觸到 MySQL 的朋友都遇到這樣一個(gè)相同的問題,就是關(guān)于毫秒的存儲(chǔ)與顯示。由于MySQL數(shù)據(jù)類型中只提供了DATETIME, TIMESTAMP, TIME, DATE, YEAR這幾種時(shí)間類型,而且DATETIME 以及 TIMESTAMP 的最小單位是秒,沒有存儲(chǔ)毫秒級(jí)別的函數(shù)。 不過MySQL卻能識(shí)別時(shí)間中的毫秒部分。而且我們有多種方式可以獲得毫秒的部分,比如函數(shù):microsecond 等。
我這里舉一個(gè)簡(jiǎn)單的例子,來存儲(chǔ)秒之前和之后的部分。
對(duì)于把時(shí)間字段作為主鍵的應(yīng)用,我們可以建立以下的表來作相應(yīng)的轉(zhuǎn)化:
代碼如下:
mysql> create table mysql_microsecond ( log_time_prefix timestamp not null default 0, log_time_suffix mediumint not null default 0) engine innnodb;
Query OK, 0 rows affected, 2 warnings (0.00 sec)
MySQL存儲(chǔ)毫秒數(shù)據(jù)的方法
代碼如下:
mysql> alter table mysql_microsecond add primary key (log_time_prefix, log_time_suffix);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL存儲(chǔ)毫秒數(shù)據(jù)的方法
代碼如下:
mysql> set @a = convert(concat(now(),'.222009'),datetime);
Query OK, 0 rows affected (0.00 sec)
MySQL存儲(chǔ)毫秒數(shù)據(jù)的方法
代碼如下:
mysql> insert into mysql_microsecond select date_format(@a,'%Y-%m-%d %H-%i-%s'),date_format(@a,'%f');
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
MySQL存儲(chǔ)毫秒數(shù)據(jù)的方法
代碼如下:
mysql> select * from mysql_microsecond;
+---------------------+-----------------+
| log_time_prefix | log_time_suffix |
+---------------------+-----------------+
| 2009-08-11 17:47:02 | 222009 |
+---------------------+-----------------+
1 row in set (0.00 sec)
MySQL存儲(chǔ)毫秒數(shù)據(jù)的方法
或者是用VARCHAR來存儲(chǔ)所有的時(shí)間字段, 又或者是存儲(chǔ)一個(gè)HASH來保證性能!
方法很多,就看你的應(yīng)用怎么用合理了。
注:關(guān)于MySQL存儲(chǔ)毫秒數(shù)據(jù)的方法的內(nèi)容就先介紹到這里,更多相關(guān)文章的可以留意512筆記的其他信息。
關(guān)鍵詞:MYSQL
總結(jié)
以上是生活随笔為你收集整理的mysql 怎么存储毫秒,MySQL存储毫秒数据的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 世界经典——乔布斯
- 下一篇: java毫秒_JAVA中怎么获取毫秒和微