mysql数据库时间类型 mysql 字段类型

牵着乌龟去散步 时间 3

很多朋友对于mysql数据库时间类型和mysql 字段类型不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

本文目录

  1. mysql数据库时间用什么类型的数据(mysql存时间应什么类型)
  2. 数据库datetime是什么类型
  3. mysql数据库中字段为时间类型要怎么什么类型表示
  4. 数据库中 日期的几种表示 ***
  5. mysql数据库里的日期用timestamp还是datetime好
  6. MySql建表时日期类型的出理

一、mysql数据库时间用什么类型的数据(mysql存时间应什么类型)

1、mysql数据库时间用什么类型的数据

2、Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。

3、Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

4、Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为“YYYY-MM-DDHH:MM:SS”。支持的时间范围是“1000-00-0000:00:00”到“9999-12-3123:59:59”。

5、Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-0100:00:01”到“2038-01-1903:14:07”。

6、所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-0000:00:00)

二、数据库datetime是什么类型

datetime类型:可用于需要同时包含日期和时间信息的值。

datetime:MySQL以'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME类型。

DateTime日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000到9999年12月31日23:59:59.997,精确到3.33毫秒,它需要8个字节的存储空间,其中前4个字节用于存储1900年1月1日以前或以后的天数,数值分正负,正数表示在此日期之后的日期,负数表示在此日期之前的日期;后4个字节用于存储从此日零时起所指定的时间经过的毫秒数。

在MySQL中创建表时,很容易通过类型介绍就能选择到合适自己的数据类型。不过到底是选择 datetime还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime的日期范围比较大;timestamp所占存储空间比较小,只是 datetime的一半。

另外,timestamp类型的列还有个特 *** :默认情况下,在 insert, update数据时,timestamp列会自动以当前时间(CURRENT_TIMES *** P)填充/更新。“自动”的意思就是,你不去管它,MySQL会替你去处理。

参考资料来源:百度百科-SQL数据类型

三、mysql数据库中字段为时间类型要怎么什么类型表示

1、Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。

2、Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

3、Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为“YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。

4、Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。

5、所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-00 00:00:00)

四、数据库中 日期的几种表示 ***

Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。

【1】Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

【2】Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为“YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。

【3】Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。

这种存储日期的方式的优点还是有的,就是简单直白,容易上手。但是,这是不正确的做法,主要会有下面两个问题:

2、字符串存储的日期比较效率比较低(逐个字符进行比对),无法用日期相关的 API进行计算和比较。

DateTime类型是没有时区信息的(时区无关),DateTime类型保存的时间都是当前会话所设置的时区对应的时间。

当你的时区更换之后,比如你的服务器更换 *** 或者更换客户端连接时区设置的话,就会导致你从数据库中读出的时间错误。不要小看这个问题,很多 *** 就是因为这个问题闹出了很多笑话。

Timestamp和时区有关。Timestamp类型字段的值会随着服务器时区的变化而变化,自动换算成相应的时间,说简单点就是在不同时区,查询到同一个条记录此字段的值会不一样。

五、mysql数据库里的日期用timestamp还是datetime好

mysql数据库里的日期用timestamp还是datetime好(1)4个字节储存

(3)时区转化,存储时对当前的时区进行转换,检索时再转换回当前的时区。

(4)TIMES *** P值不能早于1970或晚于2037!

timestamp在数据库里实际记载的时间是国际标准时间,同一个timestamp值在不同的时区检索出来的日期时间是不一样的,因为 *** 会根据时区的不同进行自动时区转换,而datetime则不会进行转换时区转换,存储时是什么日期时间,检索出来的就是存入时的日期时间,它不会有变化。至于这两种日期时间类型哪种好是没有定论的,要根据实际情况和应用需求做出取舍。

请注意由于无需实施时区转换, *** 处理dateime所产生的 *** 开销要比timestamp小。

没什么好不好的,方便省事才是王道。都用datetime你说呢,谁在乎那点存储

datetime 8个字节 yyyy-mm-dd hh-mm-ss 1000-01-01 00:00:00到9999-12-31 23:59:59 timestamp 4个字节 yyyy-mm-dd hh-mm-ss 1970-01-01 00:00:00到2037-12-31 23:59:59

timestamp类型会有时区变量的影响,跨时区使用时应注意

mysql数据库时间类型 mysql 字段类型-第1张图片-

datetime 8个字节 yyyy-mm-dd hh-mm-ss 1000-01-01 00:00:00到9999-12-31 23:59:59

timestamp 4个字节 yyyy-mm-dd hh-mm-ss 1970-01-01 00:00:00到2037-12-31 23:59:59

timestamp类型会有时区变量的影响,跨时区使用时应注意

没什么好不好的,方便省事才是王道。都用datetime你说呢,谁在乎那点存储类型类型存储需求格式时间范围 datetime 8个字节

Mysql中经常用来存储日期的数据类型有2种:Date、Datetime.

1.Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

2.Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为“YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。

TIMES *** P列用于INSERT或UPDATE *** 作时记录日期和时间。如果你不分配一个值,表中的之一个TIMES *** P列自动设置为最近 *** 作的日期和时间。也可以通过分配一个NULL值,将TIMES *** P列设置为当前的日期和时间。

TIMES *** P值返回后显示为'YYYY-MM-DDHH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMES *** P列添加+0。

注释:MySQL4.1以前使用的TIMES *** P格式在MySQL5.1中不支持;关于旧格式的信息参见MySQL4.1参考手册。

2.允许为空值,可以自定义值, *** 不会自动修改其值。

3.实际格式储存(Just stores what you h *** e stored and retri *** s the same thing which you h *** e stored.)

4.与时区无关(It has nothing to deal with the TIMEZONE and Conversion.)

5.不可以设定默认值,所以在不允许为空值的情况下,必须手动指定datetime字段的值才可以成功 *** 数据。

6.可以在指定datetime字段的值的时候使用now()变量来自动 *** *** 的当前时间。

结论:datetime类型适合用来记录数据的原始的创建时间,因为无论你怎么更改记录中其他字段的值,datetime字段的值都不会改变,除非你手动更改它。

2.允许为空值,但是不可以自定义值,所以为空值时没有任何意义。

3. TIMES *** P值不能早于1970或晚于2037。这说明一个日期,例如'1968-01-01',虽然对于DATETIME或DATE值是有效的,但对于TIMES *** P值却无效,如果分配给这样一个对象将被转换为0。

4.值以UTC格式保存( it stores the number of milliseconds)

5.时区转化,存储时对当前的时区进行转换,检索时再转换回当前的时区。

6.默认值为CURRENT_TIMES *** P(),其实也就是当前的 *** 时间。

7.数据库会自动修改其值,所以在 *** 记录时不需要指定timestamp字段的名称和timestamp字段的值,你只需要在设计表的时候添加一个timestamp字段即可, *** 后该字段的值会自动变为当前 *** 时间。

8.以后任何时间修改表中的记录时,对应记录的timestamp值会自动被更新为当前的 *** 时间。

结论:timestamp类型适合用来记录数据的最后修改时间,因为只要你更改了记录中其他字段的值,timestamp字段的值都会被自动更新。

看完这个比较你就知道用哪个好啦

我们公司一般用datatime,可控 *** 比较强

jdbc查询Mysql数据库的日期问题

查出来可以保存为String类型具体转化一下就OK了

BBSXP用的MYSQL数据库还是MSSQL数据库

BBSXP同时支持Aess数据库和MSSQL数据库

IsSqlDataBase=1'定义数据库类别,0为Aess数据库,1为SQL数据库

不知道你是哪个版本,在BBSxp 2008 SP2里Config.asp文件在根目录下。内容如下:

InstallIPAddress="127.0.0.1"'安装BBSXP的IP *** ,针对install.asp的访问权限

TablePrefix="BBSXP_"'数据库表的前辍名(一般不用更改)

IsSqlDataBase=0'定义数据库类别,0为Aess数据库,1为SQL数据库

'''''''''''''''''''''''''''''' Aess数据库设置'''''''''''''''''''''''''''''''''''''''''''''''''''''''''

SqlDataBase="database/bbsxp2008.mdb"'数据库路径

SqlProvider="Microsoft.Jet.OLEDB.4.0"'驱动程序[ Microsoft.Jet.OLEDB.4.0 Microsoft.ACE.OLEDB.12.0 ]

SqlPassword=""'ACCESS数据库密码

Connstr="Provider="&SqlProvider&";Jet Oledb:Database Password="&SqlPassword&"; Data So *** ce="&Server.MapPath(SqlDataBase)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'''''''''''''''''''''''''''''' SQL数据库设置''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

SqlLocalName="(local)"'连接IP [本地用(local)外地用IP ]

SqlUserName="sa"'SQL用户名

SqlPassword="1234"'SQL用户密码

SqlDataBase="bbsxp"'数据库名

SqlProvider="SQLOLEDB"'驱动程序 [ SQLOLEDB SQLNCLI ]

ConnStr="Provider="&SqlProvider&"; User ID="&SqlUserName&"; Password="&SqlPassword&"; Initial CataLog="&SqlDataBase&"; Data So *** ce="&SqlLocalName&";"

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''以下为专业人员设置选项,普通用户请勿修改''''''''''''''''''''''''''

Session.CodePage="936"'936(简体中文) 950(繁体中文) 65001(Unicode)

BBSxpCharset="GB2312"'GB2312(简体中文) Big5(繁体中文) UTF-8(Unicode)

Response.Charset=BBSxpCharset

上面bbsxp7b1版本用的是Aess数据库,因为IsSqlDataBase=0

mysql数据库可以修改表的日期格式吗

日期型的字段存储的格式是固定的不可以修改,需要输出时转换成需要的格式,如果你不想输出时转换那么需要设为字符型的,存储时转换.总之不管先转还是后转,一定要转

六、MySql建表时日期类型的出理

mysql(5.5)所支持的日期时间类型有:DATETIME、TIMES *** P、DATE、TIME、YEAR。

1.DATETIME用于表示年月日时分秒,是 DATE和 TIME的组合,并且记录的年份比较长久。如果实际应用中有这样的需求,就可以使用 DATETIME类型。

TIMES *** P用于表示年月日时分秒,但是记录的年份比较短暂。

TIMES *** P和时区相关,更能反映当前时间。当 *** 日期时,会先转换为本地时区后再存放;当查询日期时,会将日期转换为本地时区后再显示。所以不同时区的人看到的同一时间是不一样的。

表中的之一个TIMES *** P列自动设置为 *** 时间(CURRENT_TIMES *** P)。当 *** 或更新一行,但没有明确给 TIMES *** P列赋值,也会自动设置为当前 *** 时间。如果表中有第二个 TIMES *** P列,则默认值设置为0000-00-00 00:00:00。

TIMES *** P的属 *** 受 Mysql版本和服务器 SQLMode的影响较大。

如果记录的日期需要让不同时区的人使用,更好使用 TIMES *** P。

DATE用于表示年月日,如果实际应用值需要保存年月日就可以使用 DATE。

TIME用于表示时分秒,如果实际应用值需要保存时分秒就可以使用 TIME。

YEAR用于表示年份,YEAR有 2位(更好使用4位)和 4位格式的年。默认是4位。如果实际应用只保存年份,那么用 1 bytes保存 YEAR类型完全可以。不但能够节约存储空间,还能提高表的 *** 作效率。

每种日期时间类型都有一个有效值范围,如果超出这个范围,在默认的SQLMode下会报错,并以零值存储。

*** 或更新时,日期时间类型允许“不严格”语法,以DATETIME为例(其他日期时间类型雷同):

YYYY-MM-DD HH:MM:SS或YY-MM-DD HH:MM:SS格式的字符串。任何符号都可以用作日期部分或时间部分的间隔符。例如:“14-06-18 14:54:10”、“14*06*18 14.54.10”、“14+06+18 14=54=10”是等价的。对于包含日期时间的字符串值,如果月、日、时、分、秒的值小于10,不需要指定两位数。例如:“2014-2-3 2:3:6”、“2014-02-03 02:03:06”是等价的。

YYYYMMDDHHMMSS或YYMMDDHHMMSS格式的字符串。如果字符串对于日期时间类型是合法的就可以解释为日期时间类型。例如:“20140618145410”和“140618145410”将被解释为“2014-06-18 14:54:10”,但是“20140618145480”是不合法的(秒数不合法),将被解释为“0000-00-00 00:00:00”。

YYYYMMDDHHMMSS或YYMMDDHHMMSS格式的数字。如果该数字对日期时间类型是合法的就可以解释为日期时间类型。例如:“20140618145410”和“140618145410”将被解释为“2014-06-18 14:54:10”。数值的长度应为6、8、12、14。如果数值长度是 8或 14位长,则假定为 YYYYMMDD或YYYYMMDDHHMMSS格式。如果数值为 6或 12位长,则假定为 YYMMDD或YYMMDDHHMMSS格式。

关于mysql数据库时间类型到此分享完毕,希望能帮助到您。

标签: 类型 mysql 字段 数据库 时间

抱歉,评论功能暂时关闭!