MySQL存储毫秒数据的方法

MySQL存储毫秒数据的方法,第1张

有相当一部分刚接触到

MySQL

的朋友都遇到这样一个相同的问题,就是关于毫秒的存储与显示。由于MySQL数据类型中只提供了DATETIME,

TIMESTAMP,

TIME,

DATE,

YEAR这几种时间类型,而且DATETIME

以及

TIMESTAMP

的最小单位是秒,没有存储毫秒级别的函数。

不过MySQL却能识别时间中的毫秒部分。而且我们有多种方式可以获得毫秒的部分,比如函数:microsecond

等。

我这里举一个简单的例子,来存储秒之前和之后的部分。

对于把时间字段作为主键的应用,我们可以建立以下的表来作相应的转化:

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>

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>

set

@a

=

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

Query

OK,

0

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:

0

Warnings:

0

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来存储所有的时间字段,

又或者是存储一个HASH来保证性能!

方法很多,就看你的应用怎么用合理了。

1、打开任意一个oracle客户端工具,以plsql为例;

2、在查询窗口输入以下语句:select to_char(systimestamp, 'yyyy-mm-dd hh24:mi:ss.ff ') from dual

3、查询结果(其中红框部分为毫秒部分),TIMESTAMP数据类型简介:TIMESTAMP数据类型是DATE的扩展,可以存储年、月、日、小时、分钟、秒,同时还可以存储秒的小数部分。

甲骨文股份有限公司是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。

Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。甲骨文股份有限公司于1989年正式进入中国,在北京、上海、广州和成都均设立了分支机构。 2016年1月,甲骨文表示会收购网站数据追踪服务商AddThis。

2016年2月,甲骨文收购了云计算创业公司Ravello Systems。2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。

getdate()取到的时间可以存放在datetime中,精度是0.0033333s也就是3.3毫秒,建议你使用数据类型datetime2的精型,用sysdatetime()获取时间,然后进行处理。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6748331.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存