mysql获取当前系统日期和时间

mysql获取当前系统日期和时间,第1张

可以了解一下MySQL的时间戳(Timestamp)数据类型:

默认时间戳(Timestamp)类型的取值范围为'1970-01-01 00:00:01' UTC至'2038-01-19 03:14:07' UTC,数据精确到秒级别,该取值范围包含约22亿个数值,因此在MySQL内部使用4个字节INT类型来存放时间戳数据:

1、在存储时间戳数据时,先将本地时区时间转换为UTC时区时间,再将UTC时区时间转换为INT格式的毫秒值(使用UNIX_TIMESTAMP函数),然后存放到数据库中。

2、在读取时间戳数据时,先将INT格式的毫秒值转换为UTC时区时间(使用FROM_UNIXTIME函数),然后再转换为本地时区时间,最后返回给客户端。

(Timestamp)时间戳列可以有四张组合定义,其含义分别为:

1、当字段定义为timestamp,表示该字段在插入和更新时都不会自动设置为当前时间。

2、当字段定义为timestamp DEFAULT CURRENT_TIMESTAMP,表示该字段仅在插入且未指定值时被赋予当前时间,再更新时且未指定值时不做修改。

3、当字段定义为timestamp ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入且未指定值时被赋值为"0000-00-00 00:00:00",在更新且未指定值时更新为当前时间。

4、当字段定义为timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入或更新时未指定值,则被赋值为当前时间。

NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。

CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。

CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。

方法一:select date_format(日期字段,'%Y-%m') as '日期' from 表

方法二:mysql有日期函数 date_format

SELECT date_format(signDate,'%Y-%m') AS MY_YM FROM tablename WHERE 1

方法三:对这个字段使用函数left或者substring

例如:

select left(signDate,7) as date from tablename 或者

select substring(signDate,0,7) as date from tablename

扩展资料:

MySQL 截取部分日期

使用 DATE_FORMAT(get_date, '%Y-%m-%d') 函数截取。

其中:get_date 是需要截取的字段名;'%Y-%m-%d' 是截取后的日期格式。

select date_format('1997-10-04 22:23:00','%y %M %b %D %W %a %Y-%m-%d %H:%i:%s %r %T')

结果:97 October Oct 4th Saturday Sat 1997-10-04 22:23:00 10:23:00 PM 22:23:00

get_date = "2006-12-07"

SELECT count(*) FROM t_get_video_temp Where DATE_FORMAT(get_date, '%Y-%m-%d')='2006-12-07'

SELECT count(*) FROM t_get_video_temp Where get_date like '2006%-07%'


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

原文地址: https://outofmemory.cn/zaji/6104585.html

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

发表评论

登录后才能评论

评论列表(0条)

保存