Heim  >  Artikel  >  Datenbank  >  So ersetzen Sie Zeitfelder durch MYSQL, ohne Stunden, Minuten und Sekunden zu ändern

So ersetzen Sie Zeitfelder durch MYSQL, ohne Stunden, Minuten und Sekunden zu ändern

巴扎黑
巴扎黑Original
2017-07-19 13:10:551344Durchsuche
写法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';

Hinweis: Das Feldformat RECEIVE_TIME der Tabelle sas_order_supply_month_pay ist „2017-06-16“. 12: 13:16“, das Feldformat PERIOD_END der Tabelle sas_task_supply_month_pay_period ist „2017-07-12“,

Nach der Ausführung wird RECEIVE_TIME in „2017-“ geändert. 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';

Falscher Schreibfehler: [Err] 1093 – Sie können nicht angeben Zieltabelle 'sas_order_supply_month_pay' für Aktualisierung in FROM-Klausel

Fehleranalyse:

Fehleranweisung: (

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

Diese Anweisung kann einzeln ausgeführt werden, bei gemeinsamer Ausführung wird jedoch ein Fehler gemeldet. Vermutung: Ändern der Tabelle und des Unterabfrage kann nicht identisch sein. Eine Uhr?

Das obige ist der detaillierte Inhalt vonSo ersetzen Sie Zeitfelder durch MYSQL, ohne Stunden, Minuten und Sekunden zu ändern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn