当前位置:首页 > 日记 > 正文

MySQL时间戳(时间戳)使用详细说明

MySQL时间戳(时间戳)使用详细说明
一种时间戳的变体

TIMESTAMP timestamps can have many different features when they are created, such as:

1。当创建新记录并修改现有记录时,将刷新数据列:

默认current_timestamp current_timestamp更新时间戳
2。在创建新记录时将该字段设置为当前时间,但在稍后修改时不再刷新该字段:

时间戳默认current_timestamp
三.在创建新记录时将此字段设置为0,并在稍后修改时刷新它:
current_timestamp更新时间戳
4。在创建新记录时将字段设置为给定值,并在稍后修改时刷新它:

时间戳默认yyyy-mm-dd HH:毫米:SS的更新current_timestamp
MySQL目前不支持默认的函数形式。例如,如果将某列的默认值作为当前更新日期和时间的函数,则可以使用时间戳列类型,然后在下文中详细地指定时间戳列的类型。
二、时间戳列类型

时间戳值可以从1970到2037,精度为1秒,其值显示为一个数字。

时间戳值显示的格式如下表所示:



--------------- ---------------- + + +
|柱型| |显示格式
|时间戳(14)yyyymmddhhmmss | |
|时间戳(12)yymmddhhmmss | |
|时间戳(10)yymmddhhmm | |
|时间戳(8)| | YYYYMMDD
|时间戳(6)收到录取通知时间| |
|时间戳(4)输入时间| |
|时间戳(2)| | YY
--------------- ---------------- + + +
完整的时间戳格式是14位,但时间戳列也可以使用较短的显示大小,以创建最常用的显示大小为6, 8, 12和14。

可以在创建表时指定任意显示大小,但列长度为0或14将被定义为列长度14。

柱长在1~13范围内的奇异值被强迫为下一个较大的偶数。
清单如下:

定义字段长度强制字段长度
时间戳(0),时间戳(14)
时间戳(15),时间戳(14)
时间戳(1),时间戳(2)
时间戳(5),时间戳(6)
所有的时间戳列都具有相同的存储大小,并使用指定时间段的完整精度(14位)来存储合法值而不考虑显示大小。非法日期将被迫为0存储。

有几个含义:

1。虽然你建表定义的列的时间戳(8),但数据插入和更新时间戳列时,你真的救了14位数据(包括年月日时),但是当你查询MySQL返回给你的是8位数据的日期。如果你使用ALTER TABLE来扩大狭窄的时间戳列,隐藏的信息将被显示。

2。另外,缩短时间戳列不会导致信息丢失,但显示感官值时会显示更少的信息。

三.虽然时间戳值存储为一个完整的精度,直接操作功能存储值仅是unix_timestamp(MySQL的时间戳);因为返回的列值值检索到的格式,这意味着你可以使用一些函数操作的时间戳列(如小时)或第二(())。除非时间戳值的相关部分包含在格式化值中。

例如,当时间戳列仅定义为时间戳(10)时,将显示时间戳列的HH部分。因此,在更短的时间戳值上使用小时(时间戳)会产生不可预知的结果。

4。非法的时间戳值转换为适当的类型的值为零(00000000000000)。(日期,日期也)

例如,您可以使用以下语句来验证:
创建测试表('id'int(3)无符号auto_increment,'date1
时间戳(8)主键('id'));
插入到测试集id = 1;
从测试中选择*;
+——+ ---------------- +
| ID | date1 |
+——+ ---------------- +
| 1 | 20021114 |
+——+ ---------------- +
修改表的测试change'date1 ''date1的时间戳(14);
从测试中选择*;
+——+ ---------------- +
| ID | date1 |
+——+ ---------------- +
| 1 | 20021114093723 |
+——+ ---------------- +
可以使用时间戳列类型以当前日期和时间自动标记插入或更新操作。

如果有多个时间戳列,只有第一个自动更新。第一个时间戳列的自动更新发生在下列任何一种情况下:
1。列的值不在插入或LOAD DATA INFILE语句显式指定。

2。在一个UPDATE语句中没有显式指定列值,而其他列则更改值(注意更新将列设置为其现有值,这不会导致时间戳列被更新,因为如果将列设置为当前值,MySQL将忽略效率的变化。)

三.您显式地将时间戳列设置为null。

4。只有第一个日期和时间的时间戳列也可以设置为当前日期和时间,只要列设置为null或现在()。

创建表(测试)
id'int(3)无符号auto_increment,
date1'timestamp(14),
date2'timestamp(14),
主键('id')
);
插入测试(ID,date1,日期2)值(1,null,null);
插入到测试集id = 2;
+ -- + + + ---------------- ----------------
我要把| | | |
+ -- + + + ---------------- ----------------
| 1 | 20021114093723 | 20021114093723 |
| 2 | 20021114093724 | 00000000000000 |
+ -- + + + ---------------- ----------------
设置日期1第一指令,把空,所以要把价值,第二指示当前时间因为没有很久,把价值的列,第一列为时间戳要到当前时间更新,和两柱把日期时间戳是不合法的,改为00000000000000
更新测试集id = 3,其中id = 1;
+ -- + + + ---------------- ----------------
我要把| | | |
+ -- + + + ---------------- ----------------
| 3 | 20021114094009 | 20021114093723 |
| 2 | 20021114093724 | 00000000000000 |
+ -- + + + ---------------- ----------------
本指令不明确设定的日期2列值,所以第一时间戳列要将更新为当前时间

更新测试集ID = 1,= =现在很久很久,把()id是3;
+ -- + + + ---------------- ----------------
我要把| | | |
+ -- + + + ---------------- ----------------
| 1 | 20021114094009 | 20021114094320 |
| 2 | 20021114093724 | 00000000000000 |
+ -- + + + ---------------- ----------------
这个命令是设置日期1 =很久,所以当更新数据,该日期1列的值不会改变。由于设置日期2 =现在(),数据更新时,把列的值将被更新为当前时间。此指令相当于:
更新测试集ID = 1,日期1 = date1,把ID = 3 =零;
因为MySQL返回的时间戳列是数字显示,你可以用date_fromat timestamp列格式()函数,如下所示:
选择ID,date_format(DATE1,% y %M - %:%我:%s)为要,
date_format(date2,% y %M - %:%我:%s)是把从测试;
+ -- + + + --------------------- ---------------------
我要把| | | |
+ -- + + + --------------------- ---------------------
| 1 | 2002-11-14 09:40:09 2002-11-14 09:43:20 | |
| 2 | 2002-11-14 09:37:24 0000-00-00 | | 00:00:00
+ -- + + + --------------------- ---------------------
选择ID,date_format(DATE1,% y %M - %d)为要,
date_format(date2,% y %M - %d)是把从测试;
+ -- + + + ------------- -------------
我要把| | | |
+ -- + + + ------------- -------------
| 1 | 2002-11-14 | 2002-11-14 |
| 2 | 2002-11-14 | 0000-00-00 |
+ -- + + + ------------- -------------
在某种程度上,可以将日期类型的值分配给不同日期类型的对象。

然而,特别值得注意的是,信息的价值或损失可能会发生一些变化:
1、如果你的日期或时间戳的对象指定一个日期值、时间值结果部分设置为'00:00:00 ',因为日期值不包含时间信息。 U3000 U3000

2。如果你的约会对象指定一个日期或时间戳值、时间值结果部分删除,因为数据类型不存储时间信息。

三.虽然日期时间,日期和时间戳值都可以在相同的格式设置指定,所有类型不具有相同的值的范围。

例如,时间戳值不能超过1970或2037的时候,这意味着一个日期,如'1968-01-01 ',是合法的当它作为日期或日期值,但它不是一个正确的时间戳值。如果该对象被分配到的时间戳列,它将转变0。
三。指定日期值时,要小心一些缺陷:

1。允许指定值散格式作为一个字符串是骗人的。例如,因为:分离器的使用价值'10:11:12'may像时间价值,但如果用在一个日期,上下文将被解释为'2010-11-12今年,价值'10:45:15'will转化为'0000-00-00 ',因为'45'is不是正当月。
2。2位数指定的年值是模糊的,因为世纪unknown.mysql使用下面的规则来解释2位年度价值:

在00-69范围每年的值转换为2000-2069.the每年价值70与99范围转换为1970。

相关文章

这里记录了PHP面试中遇到的问题。

这里记录了PHP面试中遇到的问题。

电脑软件,PHP,代码优化 复制代码代码如下所示: ($ i = 0;$ i array_push($周,$ ARR); } 复制代码代码如下所示: ($ i = 0;$ i $周{ } = {我} ARR美元美元; } 这样,函数调用就不会有额外的负担。 建立索引的利与弊 优点:在索引列表中一次定位到某个特…

Win8设置和修改系统教程

Win8设置和修改系统教程

系统,设置,修改,教程,电脑软件,点评:如何设置和修改系统电源相信很多朋友都不知道,下面有一个很好的教程,可以参考下。 同时按下键盘上的Win键Windows和x键打开系统菜单,单击控制面板中选择; 选择右上角的类;选择下拉菜单中的类; 选择系统与安全;; …

使用的工具plsqldev导入Excel到Ora

使用的工具plsqldev导入Excel到Ora

数据库,工具,电脑软件,Excel,plsqldev,1。使用的工具plsqldev 2,打开需要导入的Excel表,单击Office按钮,选择另一种格式的保存,选择保存类型CSV(逗号分隔)(* CSV),单击保存。 3、在工具栏中打开plsqldev和工具下拉菜单下选择文本的进口商。进入后,…

对于Win8,Win9在你的心中

对于Win8,Win9在你的心中

心中,电脑软件,点评:Windows 8的平面用户界面设计已经让很多人不满。但由于微软仍坚持这一理念,越来越多的人开始设计自己的Win9或设计新的主题为Windows 8。 Windows 8的平面用户界面设计已经让许多人不满。但由于微软仍坚持这一理念,越来越…

从传统的PDF文档中提取文本内容都

从传统的PDF文档中提取文本内容都

文档,解决方案,文本,都是,乱码,问题: 从PDF文档中提取文本,PDF文件是繁体字,和提取的文本都是乱码。acrobar繁体中文版和Adobe阅读器福昕PDF阅读器软件都试过了。如何从一个传统的PDF文档中提取文本内容 答案uff1a 您可以尝试OCR识别软件,它…

Linux的分步共享,与百胜命令安装MyS

Linux的分步共享,与百胜命令安装MyS

安装,命令,百胜,电脑软件,Linux,评论:Linux使用百胜命令安装MySQL的步骤来共享,您需要的朋友可以参考它。 安装mysql客户机 # yum install mysql 安装mysql服务器端 # yum安装MySQL服务器 安装完成后启动MySQL服务: 启动mysql服务 为MySQL…

WindowsXP系统技术如何自动更改地

WindowsXP系统技术如何自动更改地

地址栏,字体,系统,技术,电脑软件,注释:首先,我们需要知道操作系统的Internet浏览器地址栏的字体设置与WindowsXP系统上的图标和字体的字体设置相同。 1,我们首先需要知道的是,互联网浏览器的地址栏中操作系统的字体设置是为那些对Windows XP系…

PHP循环输出指定目录下所有文件和

PHP循环输出指定目录下所有文件和

输出,路径,文件,循环,示例,如果我们要做一个在线文件管理系统,我们首先必须知道如何读取目录和文件。实际上,可以实现几行代码。 输出的影响: 实现代码: 复制代码代码如下所示: $;获取目录 回声**********访问目录下的所有文件和文件夹*******…

PHP读取CSV来实现CSV文件下载功能

PHP读取CSV来实现CSV文件下载功能

文件下载,读取,来实现,功能,电脑软件,第一段是读取文件并下载它。 第二部分是字符串下载。 复制代码代码如下所示: 为文件名=首选项.csv; 头('content-type:应用/字节流); 头('content-disposition:附件文件名=。$文件名); 头('content-transfer-…

如何在Win8相机模糊调整摄像机的清

如何在Win8相机模糊调整摄像机的清

清晰度,调整,模糊,溶液,相机,相机模糊调节Win8方法如下: 1点相机选项,里面有更多,如下所示: 2、更内部有调节亮度和对比度,可以通过降低对比度和调节亮度来提高清晰度: 3、打开相机,选择相机选项,选择照片分辨率,点开菜单;如下: 4、分辨率低如图,可…

在MySQL查询表中具有最低平均值的

在MySQL查询表中具有最低平均值的

查询,平均值,最低,电脑软件,MySQL,复制代码代码如下所示: 如果存在DD表; 创建表DD( user_id int, class_no int, 评分int ); 插入DD值(1,1,1),(2,1,1),(3,1,2),(4,2,2); 选择class_no,AVG(评分)从DD组的平均class_no秩序 测试是在MySQL下传递的。…

将列值转换为列的MySQL方法

将列值转换为列的MySQL方法

方法,转换为,电脑软件,将列值,MySQL,复制代码代码如下所示: -创建一个库 创建表(速率) ` uname ` varchar(300), `对象` varchar(300), `评分` varchar(300) ); 插入数据 插入test.rate(uname、对象、评分) 值('AAA','中国','67), ('AAA','math,89), ('AAA…