搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小丑西瓜9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Spark CoarseGrainedExecutorBackend的启动_spark怎么启动一个coregrainedexcutorbackend
2
uniapp 水印/相机/授权位置、相机、相册权限_uni app安卓相机
3
MIPS介绍与MIPS汇编的常用指令_mips指令集读取数据
4
机器学习笔记(吴恩达)_吴恩达机器学习笔记
5
C# 文字视频生成器_c# 剪辑
6
playwright教程 (一)适合小白
7
chatgpt赋能Python-python3_8怎么安装numpy库_python 3.8 numpy
8
华为鸿蒙os2.0抄袭安卓,效仿苹果、抄袭安卓?华为鸿蒙系统“泄密”,花粉:翻车了?...
9
必看,短视频创作工具大全(电脑端)_短视频制作软件电脑
10
python创建快捷方式_python创建桌面快捷方式的代码详解
当前位置:
article
> 正文
TIMESTAMP(时间戳)详解_linux jstat -t timestamp 7位是什么值
作者:小丑西瓜9 | 2024-03-13 20:02:07
赞
踩
linux jstat -t timestamp 7位是什么值
TIMESTAMP的变体
1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
在创建新记录和修改现有记录的时候都对这个数据列刷新
2,TIMESTAMP DEFAULT CURRENT_TIMESTAMP 在创建新记录的时候把这个
字段设置为当前时间,但以后修改时,不再刷新它
3,TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录的时候把这个字段设置为0,
以后修改时刷新它 www.2cto.com
4,TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss’ ON UPDATE CURRENT_TIMESTAMP
在创建新记录的时候把这个字段设置为给定值,以后修改时刷新它
MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认值为当前更新日期
与时间的功能,你可以使用TIMESTAMP列类型下面就详细说明TIMESTAMP列类型
*TIMESTAMP列类型*
TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。
TIMESTAMP值显示尺寸的格式如下表所示:
:
+---------------+----------------+
| 列类型 | 显示格式 |
| TIMESTAMP(14) | YYYYMMDDHHMMSS |
| TIMESTAMP(12) | YYMMDDHHMMSS |
| TIMESTAMP(10) | YYMMDDHHMM |
| TIMESTAMP(8) | YYYYMMDD |
| TIMESTAMP(6) | YYMMDD |
| TIMESTAMP(4) | YYMM |
| TIMESTAMP(2) | YY |
+---------------+----------------+
“完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的显示尺寸
创造最常见的显示尺寸是6、8、12、和14。
你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。
列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。
*列如:*
定义字段长度 强制字段长度
TIMESTAMP(0) -> TIMESTAMP(14)
TIMESTAMP(15)-> TIMESTAMP(14)
TIMESTAMP(1) -> TIMESTAMP(2)
TIMESTAMP(5) -> TIMESTAMP(6)
所有的TIMESTAMP列都有同样的存储大小,使用被指定的时期时间值的完整精度
(14位)存储合法的值不考虑显示尺寸。不合法的日期,将会被强制为0存储
*这有几个含意: * www.2cto.com
1、虽然你建表时定义了列TIMESTAMP(8),但在你进行数据插入与更新时TIMESTAMP列
实际上保存了14位的数据(包括年月日时分秒),只不过在你进行查询时MySQL返回给
你的是8位的年月日数据。如果你使用ALTER TABLE拓宽一个狭窄的TIMESTAMP列,
以前被“隐蔽”的信息将被显示。
2、同样,缩小一个TIMESTAMP列不会导致信息失去,除了感觉上值在显示时,
较少的信息被显示出。
3、尽管TIMESTAMP值被存储为完整精度,直接操作存储值的唯一函数是UNIX_TIMESTAMP();
由于MySQL返回TIMESTAMP列的列值是进过格式化后的检索的值,这意味着你可能不能使用某些函数来操作TIMESTAMP列(例如HOUR()或SECOND()),除非TIMESTAMP值的相关部分被包含在格式化的值中。
例如,一个TIMESTAMP列只有被定义为TIMESTAMP(10)以上时,TIMESTAMP列的HH部分才会被显示,
因此在更短的TIMESTAMP值上使用HOUR()会产生一个不可预知的结果。
4、不合法TIMESTAMP值被变换到适当类型的“零”值(00000000000000)。(DATETIME,DATE亦然)
*你可以使用下列语句来验证:*
CREATE TABLE test ('id' INT (3) UNSIGNED AUTO_INCREMENT, 'date1'
TIMESTAMP (8) PRIMARY KEY('id'));
INSERT INTO test SET id = 1;
SELECT * FROM test;
+----+----------------+
| id | date1 |
+----+----------------+
| 1 | 20021114 |
+----+----------------+
ALTER TABLE test CHANGE 'date1' 'date1' TIMESTAMP(14);
SELECT * FROM test;
+----+----------------+
| id | date1 |
+----+----------------+
| 1 | 20021114093723 |
+----+----------------+
你可以使用TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。
如果你有多个TIMESTAMP列,只有第一个自动更新。自动更新第一个TIMESTAMP列在下列任何条件下发生:
1、列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。
2、列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE
设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为
它当前的值,MySQL为了效率而忽略更改。)
3、你明确地设定TIMESTAMP列为NULL.
4、除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。
CREATE TABLE test ( www.2cto.com
'id' INT (3) UNSIGNED AUTO_INCREMENT,
'date1' TIMESTAMP (14),
'date2' TIMESTAMP (14),
PRIMARY KEY('id')
);
INSERT INTO test (id, date1, date2) VALUES (1, NULL, NULL);
INSERT INTO test SET id= 2;
+----+----------------+----------------+
| id | date1 | date2 |
+----+----------------+----------------+
| 1 | 20021114093723 | 20021114093723 |
| 2 | 20021114093724 | 00000000000000 |
+----+----------------+----------------+
->第一条指令因设date1、date2为NULL,所以date1、date2值均为当前时间第二条指令
因没有设date1、date2列值,第一个TIMESTAMP列date1为更新为当前时间,
而二个TIMESTAMP列date2因日期不合法而变为“00000000000000”
UPDATE test SET id= 3 WHERE id=1;
+----+----------------+----------------+
| id | date1 | date2 |
+----+----------------+----------------+
| 3 | 20021114094009 | 20021114093723 |
| 2 | 20021114093724 | 00000000000000 |
+----+----------------+----------------+
->这条指令没有明确地设定date2的列值,所以第一个TIMESTAMP列date1将被更新为当前时间
UPDATE test SET id= 1,date1=date1,date2=NOW() WHERE id=3; www.2cto.com
+----+----------------+----------------+
| id | date1 | date2 |
+----+----------------+----------------+
| 1 | 20021114094009 | 20021114094320 |
| 2 | 20021114093724 | 00000000000000 |
+----+----------------+----------------+
->这条指令因设定date1=date1,所以在更新数据时date1列值并不会发生改变而
因设定date2=NOW(),所以在更新数据时date2列值会被更新为当前时间此指令等效为
UPDATE test SET id= 1,date1=date1,date2=NULL WHERE id=3;
因MySQL返回的 TIMESTAMP 列为数字显示形式,你可以用DATE_FROMAT()函数来格式化 TIMESTAMP 列
SELECT id,DATE_FORMAT(date1,'%Y-%m-%d %H:%i:%s') As date1,
DATE_FORMAT(date2,'%Y-%m-%d %H:%i:%s') As date2 FROM test;
+----+---------------------+---------------------+
| id | date1 | date2 |
+----+---------------------+---------------------+
| 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 |
+----+---------------------+---------------------+
SELECT id,DATE_FORMAT(date1,'%Y-%m-%d') As date1,
DATE_FORMAT(date2,'%Y-%m-%d') As date2 FROM test;
www.2cto.com
+----+-------------+-------------+
| id | date1 | date2 |
+----+-------------+-------------+
| 1 | 2002-11-14 | 2002-11-14 |
| 2 | 2002-11-14 | 0000-00-00 |
+----+-------------+-------------+
在某种程度上,你可以把一种日期类型的值赋给一个不同的日期类型的对象。
然而,而尤其注意的是:值有可能发生一些改变或信息的损失:
1、如果你将一个DATE值赋给一个DATETIME或TIMESTAMP对象,结果值的时间部分被
设置为'00:00:00',因为DATE值中不包含有时间信息。
2、如果你将一个DATETIME或TIMESTAMP值赋给一个DATE对象,结果值的时间部分被删除,
因为DATE类型不存储时间信息。
3、尽管DATETIME, DATE和TIMESTAMP值全都可以用同样的格式集来指定,
但所有类型不都有同样的值范围。
例如,TIMESTAMP值不能比1970早,也不能比2037晚,这意味着,一个日期例如'1968-01-01',
当作为一个DATETIME或DATE值时它是合法的,但它不是一个正确TIMESTAMP值!
并且如果将这样的一个对象赋值给TIMESTAMP列,它将被变换为0。 www.2cto.com
*当指定日期值时,当心某些缺陷: *
1、允许作为字符串指定值的宽松格式能被欺骗。例如,,因为“:”分隔符的使用,
值'10:11:12'可能看起来像时间值,但是如果在一个日期中使用,上下文将作为年份被
解释成'2010-11-12'。值'10:45:15'将被变换到'0000-00-00',因为'45'不是一个合法的月份。
2、以2位数字指定的年值是模糊的,因为世纪是未知的。MySQL使用下列规则解释2位年值:
在00-69范围的年值被变换到2000-2069。 在范围70-99的年值被变换到1970-1999。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小丑西瓜9/article/detail/230319
推荐阅读
article
Linux
的
父
进程
和子
进程
的
执行
情况(附有案例代码)_
linux
进程
的
创建
父
进程
创建
子
进程
程序
的
执...
该文章主要是针对面试做大致
的
了解,通俗易懂!!!指已
创建
一个或多个子
进程
的
进程
。在
Linux
里,除了
进程
0以外
的
所有
进程
...
赞
踩
article
linux
/
unix
系统
编程1(第二章)_
操作
系统
linux
/
unix
中
,
父
进程
调用
fork
()函数...
linux
/
unix
基本概念1.
操作
系统
的内核在广义情况下:内核是指完整的软件包,包括计算机核心层软件,以及所有的附带...
赞
踩
article
linux
fork
()
进程
树
的
两种
实现
方法_
fork
进程
树
...
Linux
fork
()
进程
树
的
两种
实现
方法刚完成操作系统
的
实验一,其中附加题是使用
fork
()
实现
一颗满二叉
树
形态
的
进...
赞
踩
article
Linux:学会如何
创建
进程
(
fork
、v
fork
、写时拷贝)_
linux
如何
创建
一个
进程
...
创建
进程
fork
函数
fork
函数返回值
fork
常规用法
fork
调用失败的原因v
fork
函数
进程
创建
的流程
fork
函数在l...
赞
踩
article
Linux
学习笔记(五):
fork
()
系统
调用
_
pid
=
:
:
fork
();...
Linux
学习笔记(五):
fork
()
系统
调用
_
pid
=
:
:
fork
();
pid
=
:
:
fork
(); ...
赞
踩
article
【
Linux
】
fork
()
_
linux
fork
...
1、
fork
是什么2、
fork
复制原理3、逻辑地址与物理地址4、计算
fork
()输出次数例题分析——打印几个A?
_
li...
赞
踩
article
linux
--
fork
()详解
_
fork
linux
...
utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键–保持用户登录进入和退出的纪录。如果找到了,...
赞
踩
article
【
Linux
】
进程
概念 ——
fork
函数
_
linux
fork
()...
【
Linux
】
fork
函数
详解,
fork
函数
创建子
进程
的过程,为什么会有两个返回值,以及
fork
函数
常见的使用情况,多次...
赞
踩
article
Linux
文件
系列:深入理解
文件
描述符
fd,
重定向
,自定义
shell
当中
重定向
的模拟实现...
Linux
文件
系列:深入理解
文件
描述符
fd,
重定向
,自定义
shell
当中
重定向
的模拟实现
Linux
文件
系列:深入理解...
赞
踩
article
linux
操作
系统
实验(六)_2、
使用
系统
调用
fork
()
函数
创建两个子
进程
,再用
系统
调用
si...
掌握
进程
间通信之信号的用法 掌握
进程
间通信之共享内存的
使用
方法 掌握
进程
间通信之消息队列
使用
。信号实验;参考下以关于信号...
赞
踩
article
操作
系统
课设——
Linux
进程
管理_父子
进程
同步实验:编写一段
程序
,
使用
系统
调用
fork
()创建一...
一、实验目的通过
进程
的创建、撤销和运行加深对
进程
概念和
进程
并发执行的理解,明确
进程
和
程序
之间的区别。二、实验内容和步骤(...
赞
踩
article
【
Linux
】
进程
概念
、
fork
()
函数
(干货满满)_
fork
函数
接口...
操作系统进行“管理”的本质是——先描述
、
再组织。描述是一个面向对象的过程,组织是使用数据结构的过程。而
进程
也是被操作系统...
赞
踩
article
Linux
fork
函数
具体
图解
-同一
时候
分析
一道腾讯笔试题...
原创blog。转载请注明出处头文件:#include<unistd.h>#include<sys/ty...
赞
踩
article
【
Linux
】
fork
函数
的
基础知识
_
fork
的
子
进程
为什么
是0...
fork
初识:1.
fork
有两个返回值。2.父子
进程
代码共享,数据各开辟空间,私有一份(写实拷贝)。我们在运行test
的
...
赞
踩
article
Linux C语言
进程
详解——
fork
()/
wait
()/
wait
p
id
()_c
fork
函数
输...
fork
()
函数
#include
#include
函数
原型 p
id
_t fo...
赞
踩
article
【
Linux
】详解
进程
控制 (
fork
函数
| 写时拷贝 |
进程
退出
|
进程
等待
)_
fork
...
fork
函数
、初识
fork
返回值问题、
fork
常规用法、写时拷贝、
进程
退出
、
进程
退出
码、
进程
退出
场景、
进程
如何
退出
、
进程
...
赞
踩
article
Linux:
进程
控制(
fork
/v
fork
)(
进程
终止:
exit
/_
exit
)(
进程
等待:
wait
/...
目录
进程
创建
fork
原理
fork
函数返回值
fork
用法和调用失败的原因v
fork
函数总结
进程
终止
进程
退出场景:
进程
常见...
赞
踩
article
关于
Linux
fork
()
进程
创建
函数 的
执行
方式 &
返回值
&
lockf
锁和并发 & 控...
Demo 1 - 了解
fork
执行
方式文章目录Demo 1 - 了解
fork
执行
方式code & resultcompr...
赞
踩
article
Linux
——
进程
控制1|再谈
fork
()|
fork
常规用法和
调用
失败原因|
进程
终止|
main
函数
返...
exit
最后也会
调用
_
exit
, 但在
调用
_
exit
之前,还做了其他工作1.
执行
用户通过 at
exit
或on_
exit
...
赞
踩
article
Linux
|
fork
()、
僵死
进程
、写时
拷贝
_
linux
进程
写实
拷贝
...
Linux
基础之
fork
()产生子
进程
以及
僵死
进程
、孤儿
进程
的介绍。_
linux
进程
写实
拷贝
linux
进程
写实
拷贝
...
赞
踩
相关标签
python
pandas
开发语言
Linux
操作系统
学习
笔记
linux
服务器
java
jvm
重定向
文件描述符
文件
重定向的模拟实现
c++
c语言
运维
c/c++