mysql毫秒怎么表示 mysql 毫秒格式

mysql 時(shí)間差 以秒為單位

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)運(yùn)河免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

返回日期或日期時(shí)間表達(dá)式datetime_expr1 和datetime_expr2the 之間的整數(shù)差。

其結(jié)果的單位由interval 參數(shù)給出。該參數(shù)必須是以下值的其中一個(gè):

FRAC_SECOND 表示間隔是毫秒

SECOND? 秒

MINUTE? 分鐘

HOUR? 小時(shí)

DAY? 天

WEEK? 星期

MONTH? 月

QUARTER? 季度

YEAR? 年

mysql?SELECT?TIMESTAMPDIFF(SECOND,?'2012-12-21',?CURRENT_TIMESTAMP())?AS?`Second`;

+----------+

|?Second???|

+----------+

|?53880812?|

+----------+

1?row?in?set?(0.00?sec)

如何獲得 MySQL 毫秒,微秒

經(jīng)常有人問(wèn)及:在 MySQL 中如何獲得毫秒?于是就寫(xiě)篇日志總結(jié)下。

MySQL 較新的版本中(MySQL 6.0.5),也還沒(méi)有產(chǎn)生微秒的函數(shù),now() 只能精確到秒。 MySQL 中也沒(méi)有存儲(chǔ)帶有毫秒、微秒的日期時(shí)間類(lèi)型。

但,奇怪的是 MySQL 已經(jīng)有抽?。╡xtract)微秒的函數(shù)。例如:

select microsecond('12:00:00.123456'); -- 123456

select microsecond('1997-12-31 23:59:59.000010'); -- 10

select extract(microsecond from '12:00:00.123456'); -- 123456

select extract(microsecond from '1997-12-31 23:59:59.000010'); -- 10

select date_format('1997-12-31 23:59:59.000010', '%f'); -- 000010

盡管如此,想在 MySQL 獲得毫秒、微秒還是要在應(yīng)用層程序中想辦法。假如在應(yīng)用程序中獲得包含微秒的時(shí)間:1997-12-31 23:59:59.000010,在 MySQL 存放時(shí),可以設(shè)計(jì)兩個(gè)字段:c1 datetime, c2 mediumint,分別存放日期和微秒。為什么不采用 char 來(lái)存儲(chǔ)呢?用 char 類(lèi)型需要 26 bytes,而 datetime + mediumint 只有 11(8+3) 字節(jié)。

毫秒、微秒名詞解釋?zhuān)?/p>

毫秒:millisecond -- 千分之一秒

微秒:microsecond -- 一百萬(wàn)分之一秒

1 秒 = 1000 毫秒;1 毫秒 = 1000 微秒

MySQL存儲(chǔ)毫秒數(shù)據(jù)的方法

有相當(dāng)一部分剛接觸到

MySQL

的朋友都遇到這樣一個(gè)相同的問(wèn)題,就是關(guān)于毫秒的存儲(chǔ)與顯示。由于MySQL數(shù)據(jù)類(lèi)型中只提供了DATETIME,

TIMESTAMP,

TIME,

DATE,

YEAR這幾種時(shí)間類(lèi)型,而且DATETIME

以及

TIMESTAMP

的最小單位是秒,沒(méi)有存儲(chǔ)毫秒級(jí)別的函數(shù)。

不過(guò)MySQL卻能識(shí)別時(shí)間中的毫秒部分。而且我們有多種方式可以獲得毫秒的部分,比如函數(shù):microsecond

等。

我這里舉一個(gè)簡(jiǎn)單的例子,來(lái)存儲(chǔ)秒之前和之后的部分。

對(duì)于把時(shí)間字段作為主鍵的應(yīng)用,我們可以建立以下的表來(lái)作相應(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,

rows

affected,

2

warnings

(0.00

sec)

mysql

alter

table

mysql_microsecond

add

primary

key

(log_time_prefix,

log_time_suffix);

Query

OK,

rows

affected

(0.01

sec)

Records:

Duplicates:

Warnings:

mysql

set

@a

=

convert(concat(now(),'.222009'),datetime);

Query

OK,

rows

affected

(0.00

sec)

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:

Warnings:

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)

或者是用VARCHAR來(lái)存儲(chǔ)所有的時(shí)間字段,

又或者是存儲(chǔ)一個(gè)HASH來(lái)保證性能!

方法很多,就看你的應(yīng)用怎么用合理了。

網(wǎng)頁(yè)標(biāo)題:mysql毫秒怎么表示 mysql 毫秒格式
本文URL:http://www.muchs.cn/article4/ddipooe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司Google、外貿(mào)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)