当前位置: 首页 > 编程笔记 >

MYSQL替换时间(年月日)字段时分秒不变实例解析

段溪叠
2023-03-14
本文向大家介绍MYSQL替换时间(年月日)字段时分秒不变实例解析,包括了MYSQL替换时间(年月日)字段时分秒不变实例解析的使用技巧和注意事项,需要的朋友参考一下

写法1:

update sas_order_supply_month_pay set 
RECEIVE_TIME=REPLACE(RECEIVE_TIME,DATE_FORMAT(RECEIVE_TIME,'%Y-%m-%d'),(select PERIOD_END from sas_task_supply_month_pay_period where belong='1729' 
and CREATE_TIME like '%2017-07-12%')) where ORDER_CODE='PO201707130115';

写法2:

update sas_order_supply_month_pay set 
RECEIVE_TIME= ADDTIME ((select PERIOD_END from sas_task_supply_month_pay_period where belong='1729' 
and CREATE_TIME like '%2017-07-12%')+interval 0 hour,time(RECEIVE_TIME)) where ORDER_CODE='PO201707130115';

写法3:

update sas_order_supply_month_pay set 
RECEIVE_TIME = concat((select PERIOD_END from sas_task_supply_month_pay_period where belong='1729' 
and CREATE_TIME like '%2017-07-12%'),' ',DATE_FORMAT(RECEIVE_TIME,'%H:%i:%S')) where ORDER_CODE='PO201707130115';

说明: s

as_order_supply_month_pay表的RECEIVE_TIME字段格式为"2017-06-16 12:13:16",sas_task_supply_month_pay_period表的PERIOD_END字段格式为"2017-07-12",

执行后RECEIVE_TIME修改为"2017-07-12 12:13:16"。

错误写法:

update sas_order_supply_month_pay set 
RECEIVE_TIME = DATE_FORMAT(concat((select PERIOD_END from sas_task_supply_month_pay_period where belong='1729' 
and CREATE_TIME like '%2017-07-12%'),' ',(select DATE_FORMAT(RECEIVE_TIME,'%H:%i:%S') from sas_order_supply_month_pay 
where ORDER_CODE='PO201707130115')),"yyyy-MM-dd %H:%i:%S") where ORDER_CODE='PO201707130115';

错误写法报错:

[Err] 1093 - You can't specify target table 'sas_order_supply_month_pay' for update in FROM clause

错误分析:

错误语句:

(select DATE_FORMAT(RECEIVE_TIME,'%H:%i:%S') from sas_order_supply_month_pay where ORDER_CODE='PO201707130115')

此语句单独执行是可以的,但是合在一起执行报错,猜测:修改表和子查询不能是同一个表?

以上所述是小编给大家介绍的MYSQL替换时间(年月日)字段时分秒不变的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍用js实现每隔一秒刷新时间的实例(含年月日时分秒),包括了用js实现每隔一秒刷新时间的实例(含年月日时分秒)的使用技巧和注意事项,需要的朋友参考一下 原理:使用定时器,即setInterval(fn,i),每隔i秒执行fn。 下面给出具体的代码 1.代码如下: 2.效果图: 以上这篇用js实现每隔一秒刷新时间的实例(含年月日时分秒)就是小编分享给大家的全部内容了,希望能给大家一个参考

  • 本文向大家介绍Android动态显示当前年月日时分秒系统时间(示例代码),包括了Android动态显示当前年月日时分秒系统时间(示例代码)的使用技巧和注意事项,需要的朋友参考一下 在布局文件中放一个TextView用来显示时间,如下所示: 开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间: 以上所述是小编给大家介绍的Android动态显示当前年月日时分秒系统

  • 本文向大家介绍java Date获取年月日时分秒的实现方法,包括了java Date获取年月日时分秒的实现方法的使用技巧和注意事项,需要的朋友参考一下 java Date获取年月日时分秒的实现方法 获取日,如果大于16则+2个月,否则+1个月,输出7个月 以上这篇java Date获取年月日时分秒的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我有一个带有列()的表,格式为日期时间,在我的Select中有一个年份()的变量输入,格式为int。 如何使用变量输入替换表中日期中的年份,并以datetime格式(在Select中)返回结果? 我尝试了以下操作,但是返回错误的日期/年份: 例子: 在这种情况下,我的结果应该是: 问题答案: 使用DATEADD函数的解决方案: 这是一个比当前年份小的年份的示例:

  • 问题内容: 我无法找出(谷歌,阅读mysql参考手册)如何 在几秒钟内在 MySQL中获取 DATETIME的 值。 我不是要从日期时间中提取秒,而是将其转换为秒。 问题答案: 如果要使两个DATETIME值之间存在差异,请使用 : TIMESTAMPDIFF(单位,datetime_expr1,datetime_expr2) 返回,其中和是日期或日期时间表达式。一个表达式可以是日期,另一个可以是

  • 问题内容: 我目前正在开发一个显示文件的应用程序,并允许成员通过许多不同的参数来搜索这些文件,其中一个是日期范围。 我遇到的问题是数据库架构不是我自己开发的,数据库的创建者创建了一个“ date”表,其中包含“ day”,“ month”,“ year”字段。 我想知道如何从表中选择特定的日期,月份,年份,并在SQL中创建日期对象,以便可以比较用户使用BETWEEN输入的日期。 下面是日期表的结构