#mysql #database
Вопрос:
create table emp_details(
empId varchar(10),
empName varchar(20),
designation varchar(30),
band varchar(5),
joiningDate date,
);
insert into salary_struct.emp_details values
('E0001','abc','Trainee software engineer','E','2021-06-01'),
('C2002','xyz','senior business analyst','C2','2017-02-15');
Как добавить новый столбец под названием «опыт» в существующую таблицу, в которую я хочу добавить разницу между датой присоединения и текущей датой в годах?
Комментарии:
1. добавить новый столбец ИЗМЕНИТЬ ТАБЛИЦУ ДОБАВИТЬ СТОЛБЕЦ добавить разницу между датой присоединения и текущей датой в годах ОБНОВЛЕНИЕ и МЕТКА ВРЕМЕНИ(ГОД, …)
2. Должно ли новое значение столбца быть статическим (рассчитанное сегодня, оно останется неизменным завтра, даже если разница увеличится) или динамическим (всегда равным фактической разнице)?
Ответ №1:
Поскольку experience
столбец является динамически вычисляемым значением, вместо того, чтобы хранить значение в новом столбце бд, вы можете легко получить результат в выбранном столбце
select empId ,
empName ,
designation ,
band ,
joiningDate ,
DATEDIFF(curdate(), joiningDate)
from emp_details experience