• 技术文章 >数据库 >mysql教程

    用MYSQL替换时间字段且时分秒不变的方法

    巴扎黑巴扎黑2017-07-19 13:10:55原创693
    写法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';

    说明: sas_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替换时间字段且时分秒不变的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:MYSQL 年月日 字段
    上一篇:几种MySQL数据库的优化方案 下一篇:用xtrabackup备份mysql数据库方法指导
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• mysql怎么查询两个字段的值• mysql的长整型是什么• mysql查询触发器的语句有哪些• mysql管理工具有哪些• mysql怎么取消所有权限
    1/1

    PHP中文网