根据另一列的数据更新 MySQL 列
Update MySQL column based on another column's data
我有一个名为 TICKET
的 table。在工单的列中有两个日期字段:
TICKET
----------------------------------------
TICKDATE | ELSDATE | ...
---------------------+-------------+----
yyyy-mm-dd hh:mm:ss yyyy-mm-dd
这两个日期应该始终相同。
我有一个日期范围(从 7 月 1 日到现在),其中 ELSDATE 为空。我刚刚开始编写 sql 脚本,我不知道如何更新一列以使其与另一列相等。我 运行 每天更新的当前脚本是:
update TICKET ELSDATE="yyyy-mm-dd" where date(TICKDATE)="yyyy-mm-dd"
我想我可以做类似的事情:
update TICKET where ELSDATE="???" date(TICKDATE)<date("2015-09-29")
如果要在 2015 年 9 月 29 日之前的同一行中将 ELSDATE 的每个值都设置为 TICKDATE 的值,请使用:
UPDATE TICKET SET ELSDATE = TICKDATE where TICKDATE < "2015-09-29"
您可以在单个查询中完成所有更新,这样您就不必一天一次地完成它们。查询会将每一行 ELSDATE 更改为等于 TICKDATE
UPDATE TICKET SET ELSDATE = TICKDATE;
要仅更新 ELSEDATE 为空的行,您可以使用。
UPDATE TICKET SET ELSDATE = TICKDATE WHERE ELSDATE IS NULL;
要在两个日期之间更改行,请使用 BETWEEN 子句。
UPDATE TICKET SET ELSDATE = TICKDATE WHERE TICKDATE BETWEEN '2015-07-01' AND CURDATE();
是的:
UPDATE TICKET
SET ELSDATE = TICKDATE
WHERE TICKDATE < CURDATE() /* AND ELSDATE IS NULL */
我有一个名为 TICKET
的 table。在工单的列中有两个日期字段:
TICKET
----------------------------------------
TICKDATE | ELSDATE | ...
---------------------+-------------+----
yyyy-mm-dd hh:mm:ss yyyy-mm-dd
这两个日期应该始终相同。
我有一个日期范围(从 7 月 1 日到现在),其中 ELSDATE 为空。我刚刚开始编写 sql 脚本,我不知道如何更新一列以使其与另一列相等。我 运行 每天更新的当前脚本是:
update TICKET ELSDATE="yyyy-mm-dd" where date(TICKDATE)="yyyy-mm-dd"
我想我可以做类似的事情:
update TICKET where ELSDATE="???" date(TICKDATE)<date("2015-09-29")
如果要在 2015 年 9 月 29 日之前的同一行中将 ELSDATE 的每个值都设置为 TICKDATE 的值,请使用:
UPDATE TICKET SET ELSDATE = TICKDATE where TICKDATE < "2015-09-29"
您可以在单个查询中完成所有更新,这样您就不必一天一次地完成它们。查询会将每一行 ELSDATE 更改为等于 TICKDATE
UPDATE TICKET SET ELSDATE = TICKDATE;
要仅更新 ELSEDATE 为空的行,您可以使用。
UPDATE TICKET SET ELSDATE = TICKDATE WHERE ELSDATE IS NULL;
要在两个日期之间更改行,请使用 BETWEEN 子句。
UPDATE TICKET SET ELSDATE = TICKDATE WHERE TICKDATE BETWEEN '2015-07-01' AND CURDATE();
是的:
UPDATE TICKET
SET ELSDATE = TICKDATE
WHERE TICKDATE < CURDATE() /* AND ELSDATE IS NULL */