MySQL数据库中有字段类型是日期,时间的插入语句处理

MySQL数据库中有字段类型是日期,时间的插入语句处理

什么是时间戳?
TIMESTAMP是一种类型,具体的值:19990717080000
CURRENT_TIMESTAMP是什么意思?
on update CURRENT_TIMESTAMP 什么意思?

MySQL数据库中,与时间有关的类型:

DATE: 格式:2019-07-14 有时间范围 日期为主

TIME:

DATETIME: 2019-07-14 08:00:00 结合时间和日期 ,有时间范围

TIMESTAMP:

日期和时间结合,yyyy-MM-dd HH:mm:ss SSS 和DATETIME格式一样,,

但是TIMESTAMP存储的时间范围比DATETIME要小很多,只能存储“1970-01-01 00:00:01 UTC”到“2038-01-19 03:14:07 UTC”之间的时间。

mysql数据库中的current_timestamp,current_timestamp()函数

mysql>select current_timestamp,current_timestamp();

+-----------------+-------------------+

current_timestamp| current_timestamp()

2008-08-09 23:22:24 | 2028-08-09 23:22:24

TIMESTAMP

MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。

自动UPDATE和INSERT 到当前的时间:

'create_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

-NULL

-NOT NULL DEFAULT CURRENT_TIMESTAMP

-NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

-CURRENT_TIMESTAMP:当更新此条记录时,时间戳不会改变

-CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP: 更新此条记录,时间戳变最新时间。

now():返回当前的日期和时间。

【下面的没有看完】

对CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,有个特殊情况,假如你更新的字段值(UPDATE)没有变化时,MySQL将会忽略更新操作,所以,时间戳也不会改变。另外,如果有多个CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP列,那么MySQL只会更新第一个。————————————————版权声明:本文为CSDN博主「Jason Hsiao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_35935514/article/details/113590599

表中字段:

orderDate datetime NOT NULL DEFAULT NOW(),

当向表中插入行时,当前的日期和时间自动插入列中, 没插入日期和时间的值,自动插入。

mysql>create table ts(f1 TIMESTAMP);

Query OK.

mysql>desc date; ?

Field: f1

Type:timestam

p

Null:No

Key:

Default:CURRENT_TIMESTAMP

Extra:on update CURRENT_TIMESTAMP

timestamp类型:值为一个变量:CURRENT_TIMESTAMP

具体范围如下:

mysql>insert into tsvalues(19700101080001);

Query OK,1 row affected(0.20 sec)

mysql>insert into ts values(20371231235959);

Query OK,....

mysql>select * from ts;

+---------------------------------+

f1

+----------------------------------+

1970-01-01 08:00:00

2037-12-31 23:59:59

+---------------------------------------+

2 rows in set(0.00 sec)

格式:

yyyymmddhhmmss,

yymmddhhmmss,

yyyymmdd

yymmdd

mysql>insert into ts values(19700101080001);

mysql>insert into ts values(19700102);

mysql>insert into ts values(700102);

mysql>insert into ts values(1231);

自动补上0

+----------------------------------------+

| f1 |

+----------------------------------------+

1970-01-01 08:00:01

2037-12-31 23:59:59

1970-01-02 00:00:00

2037-01-02 00:00:00

2037-12-31 00:00:00


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Java中,你可以使用`java.util.Date`和`java.sql.Timestamp`来处理日期时间,以及与数据库进行比较。下面是一个示例代码,用于判断当前时间数据库中的`datetime`字段之间是否相差15分钟以内: ```java import java.util.Date; import java.sql.Timestamp; public class Main { public static void main(String[] args) { // 获取当前时间 Date currentTime = new Date(); // 获取数据库中的时间字段值(假设从数据库中获取到的时间字段为timestamp) Timestamp dbTimestamp = getTimestampFromDatabase(); // 从数据库中获取datetime字段的值 // 计算时间差 long diffInMilliseconds = currentTime.getTime() - dbTimestamp.getTime(); long diffInMinutes = diffInMilliseconds / (60 * 1000); // 判断时间差是否在15分钟之内 if (diffInMinutes <= 15) { System.out.println("时间差在15分钟之内"); } else { System.out.println("时间差超过15分钟"); } } // 模拟从数据库中获取datetime字段的值 private static Timestamp getTimestampFromDatabase() { // 假设从数据库中获取到的时间字段为2022-01-01 12:30:00 return Timestamp.valueOf("2022-01-01 12:30:00"); } } ``` 在上面的示例中,我们通过获取当前时间和从数据库中获取到的时间字段值,计算出两者之间的时间差(以毫秒为单位),然后将其转换为分钟。最后,我们判断时间差是否小于等于15分钟,如果是,则输出"时间差在15分钟之内",否则输出"时间差超过15分钟"。 请注意,示例中的`getTimestampFromDatabase()`方法是用于模拟从数据库中获取datetime字段的值,你需要根据实际情况替换为从数据库中获取datetime字段的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值