将所有to_date为9999-01-01的全部更新为NULL,且 from_date更新为2001-01-01。
drop table if exists titles_test; CREATE TABLE titles_test ( id int(11) not null primary key, emp_no int(11) NOT NULL, title varchar(50) NOT NULL, from_date date NOT NULL, to_date date DEFAULT NULL); insert into titles_test values ('1', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'), ('2', '10002', 'Staff', '1996-08-03', '9999-01-01'), ('3', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01'), ('4', '10004', 'Senior Engineer', '1995-12-03', '9999-01-01'), ('5', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'), ('6', '10002', 'Staff', '1996-08-03', '9999-01-01'), ('7', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01');
更新后的值:
titles_test 表的值:
id |
emp_no |
title |
from_date |
to_date |
1 |
10001 |
Senior Engineer |
2001-01-01 |
NULL |
2 |
10002 |
Staff |
2001-01-01 |
NULL |
3 |
10003 |
Senior Engineer |
2001-01-01 |
NULL |
4 |
10004 |
Senior Engineer |
2001-01-01 |
NULL |
5 |
10001 |
Senior Engineer |
2001-01-01 |
NULL |
6 |
10002 |
Staff |
2001-01-01 |
NULL |
7 |
10003 |
Senior Engineer |
2001-01-01 |
NULL |
后台会执行下面SQL语句得到输出,判断正确:
select count(*) from titles_test where from_date='2001-01-01' and to_date is NULL;
解题
UPDATE titles_test SET from_date = '2001-01-01', to_date = NULL;