mysql中datetime字段怎么增加一个固定时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中datetime字段怎么增加一个固定时间相关的知识,希望对你有一定的参考价值。

我想往里存的数据比我从接口获得的数据要增加30分钟,这个在JSP页面好弄么?还是放在mysql做转换比较好??jsp里面是不是还得单独换算时间格式,60进位什么的,不如直接放到sql语句里来做这个比较合适,具体怎么做?
比如接口的一个字段,DT_END_TIME接收过来了为"2011-07-21 23:46:50" 我存进去希望变为“2011-07-22 00:16:50”

PERIOD_DIFF(P1,P2)
返回在时期P1和P2之间月数,P1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期值。
mysql> select PERIOD_DIFF(9802,199703);
-> 11

DATE_ADD(date,INTERVAL expr type)
 
DATE_SUB(date,INTERVAL expr type)
 
ADDDATE(date,INTERVAL expr type)
 
SUBDATE(date,INTERVAL expr type)
这些功能执行日期运算。对于MySQL 3.22,他们是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词。
在MySQL 3.23中,你可以使用+和-而不是DATE_ADD()和DATE_SUB()。(见例子)date是一个指定开始日期的
DATETIME或DATE值,expr是指定加到开始日期或从开始日期减去的间隔值一个表达式,expr是一个字符串;它可以以
一个“-”开始表示负间隔。type是一个关键词,指明表达式应该如何被解释。EXTRACT(type FROM date)函数从日期
中返回“type”间隔。下表显示了type和expr参数怎样被关联: type值 含义 期望的expr格式
SECOND 秒 SECONDS
MINUTE 分钟 MINUTES
HOUR 时间 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
MINUTE_SECOND 分钟和秒 "MINUTES:SECONDS"
HOUR_MINUTE 小时和分钟 "HOURS:MINUTES"
DAY_HOUR 天和小时 "DAYS HOURS"
YEAR_MONTH 年和月 "YEARS-MONTHS"
HOUR_SECOND 小时, 分钟, "HOURS:MINUTES:SECONDS"
DAY_MINUTE 天, 小时, 分钟 "DAYS HOURS:MINUTES"
DAY_SECOND 天, 小时, 分钟, 秒 "DAYS HOURS:MINUTES:SECONDS"

MySQL在expr格式中允许任何标点分隔符。表示显示的是建议的分隔符。如果date参数是一个DATE值并且你的计算仅仅
包含YEAR、MONTH和DAY部分(即,没有时间部分),结果是一个DATE值。否则结果是一个DATETIME值。

mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
-> 1998-01-01 00:00:00
mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
-> 1998-01-01
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
-> 1997-12-31 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 SECOND);
-> 1998-01-01 00:00:00
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 DAY);
-> 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL "1:1" MINUTE_SECOND);
-> 1998-01-01 00:01:00
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
INTERVAL "1 1:1:1" DAY_SECOND);
-> 1997-12-30 22:58:59
mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
INTERVAL "-1 10" DAY_HOUR);
-> 1997-12-30 14:00:00
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
-> 1997-12-02
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102
参考技术A 个人有一个比较好的解决办法
在页面向action传递参数的时候用long来表示时间
到action中再在这个时间的基础上加上需要多少分钟的毫秒数
然后转为Date存到数据库里
当然,一般用long表示时间的话,在数据库里页用bigint来表示时间,并不用datetime
参考技术B 查下mysql的函数,应该有处理函数,反正utc时间戳是可以直接加碱处理的。而且jsp本身肯定有函数可以处理,没有的话,可以自己写 参考技术C JSP中用Java代码改,Java有现成的方法,直接给个参数就OK

java怎么取出mysql中datetime类型数据字段

参考技术A 首先,你使用sql语句用statement对象执行某个executeQuery()方法得到了ResultSet的实例对象(rs):然后你可以这样:
rs.getDate("birthday");
它返回自然是一个java.util.Date对象,通过Date对象,可以getDay(),getMonth()等等!
------最后,希望采纳!毕竟我们纯手打!本回答被提问者采纳
参考技术B

  参考代码:

  说明:

  把timestamp从resultSet中得到,然后把它转换成Date类型,然后就可以转换成需要的类型了

以上是关于mysql中datetime字段怎么增加一个固定时间的主要内容,如果未能解决你的问题,请参考以下文章

mysql批量修改字段动态内容的sql语句怎么写

mysql让一张表中字段like另一张表中的字段,sql应该怎么写? 我试了两种方式,都不行

k3 bom自定义字段如何自动携带到计划订单中

这个SQL语句怎么写:将一个字段里的值复制添加到另一个字段中

MySQL 现在有张表Temp,如图,想把字段中逗号全部给去掉,请问该怎么处理?谢谢

mysql表中字段值带有符号怎么匹配?