MySQL 日期类型及默认设置

您所在的位置:网站首页 设置默认值 MySQL 日期类型及默认设置

MySQL 日期类型及默认设置

2024-03-11 12:33| 来源: 网络整理| 查看: 265

MySQL 日期类型及默认设置

之前在用 MySQL 新建 table,创建日期类型列时遇到了一些问题,现在整理下来以供参考。

MySQL 的日期类型如何设置当前时间为其默认值? 答:请使用 timestamp 类型,且 默认值设为 now() 或 current_timestamp() 。

MySQL 日期类型及默认设置 日期类型区别及用途日期类型的 default 设置常见的日期获取函数其他的内容

日期类型区别及用途

MySQL 的日期类型有5个,分别是: date、time、year、datetime、timestamp。 将在“菜鸟教程”和百度获取的资料,整理成如下表格:

类型字节格式用途是否支持设置系统默认值date3YYYY-MM-DD日期值不支持time3HH:MM:SS时间值或持续时间不支持year1YYYY年份不支持datetime8YYYY-MM-DD HH:MM:SS日期和时间混合值不支持timestamp4YYYYMMDD HHMMSS混合日期和时间,可作时间戳支持 日期类型的 default 设置

关于 default 设置,通常情况下会使用当前时间作为默认值。 Example:

ts_time timestamp NOT NULL DEFAULT NOW();

or

ts_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP();

根据上表可知,除了 timestamp 类型支持系统默认值设置,其他类型都不支持。 如果建表语句中有:

ts_time1 time NOT NULL DEFAULT NOW(); ts_time3 yearNOT NULL DEFAULT NOW(); ts_time2 date NOT NULL DEFAULT CURRENT_TIMESTAMP(); ts_time2 datetime NOT NULL DEFAULT CURRENT_TIMESTAMP();

都会报错。所以想要设置某个日期列的默认值为当前时间,只能使用 timestamp 类型,并设置 DEFAULT NOW() 或 DEFAULT CURRENT_TIMESTAMP() 作为默认值。

date 类型默认值使用 current_date() 创建失败

date 创建失败

date 类型默认值使用 now() 创建失败

 date 创建失败2

date 类型默认值使用 current_timestamp() 创建失败

 date 创建失败3

datetime 类型默认值使用 current_timestamp() 创建失败

datetime 创建失败1

datetime 类型默认值使用 now() 创建失败

datetime 创建失败2

timestamp 类型默认值使用 now() 创建成功

timestamp

常见的日期获取函数

MySQL中有一些日期函数可供我们使用,我们可以使用 ” select 函数名() ; ” 的 sql 查看它们的返回值。同时也可以使用 “select 自定义函数名();”,调用我们自己定义的函数。 Eample:

select current_timestamp();

MySQL当前时间戳

select current_date();

MySQL当前日期

select current_time();

当前时间

select now();

获取当前时间

参照“w3School相关内容”,其他常见的日期函数如下

函数描述NOW()返回当前的日期和时间CURDATE()返回当前的日期CURTIME()返回当前的时间DATE()提取日期或日期/时间表达式的日期部分EXTRACT()返回日期/时间按的单独部分DATE_ADD()给日期添加指定的时间间隔DATE_SUB()从日期减去指定的时间间隔DATEDIFF()返回两个日期之间的天数DATE_FORMAT()用不同的格式显示日期/时间 其他的内容

更多的MySQL Date 类型或 Date 处理函数,请移步: MySQL 数据类型 – 菜鸟教程网 SQL Date 函数 – W3School MySQL日期时间函数大全 – zeroone



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3