>  Q&A  >  본문

열 날짜 값 계산: 변수 및 기타 열을 사용하여 날짜 오프셋 계산을 수행합니다.

1000개의 작업/기록이 포함된 프로젝트 관리 테이블이 있고 각 작업/기록에는 동적 starting_dateending_date列。这些日期的值是通过获取一个静态的项目“上线”日期(例如2022-10-01),然后减去每个记录的task_offset_days值(例如-211),从而得到starting_date的值。结束日期通过一个days_to_complete列计算,该列具有例如60天的值,如果将其加到starting_date上,就得到了最终的ending_date이 있습니다.

예: 개시 날짜 = 2022-10-01,偏移-211天,得到starting_date = '2022-03-04',再加上days_offset的值60,得到ending_date = 2022-05-03.

질문은 다음과 같습니다.

이 1000개의 레코드를 다른 테이블에 복사하고 그 과정에서 다른 실행 날짜를 기준으로 starting_dateending_date 값을 업데이트하고 싶습니다. 복사하고 편집할 레코드가 1000개 있는데 어떻게 하면 가장 효율적인 방법으로 이를 수행할 수 있습니까?

현재 사본 쿼리:

@live_date = '2022-10-01';   // 上线日期

INSERT INTO `new_task_table` (
    `property_id`,  // 唯一标识符,在原始表中不存在
    `status`,
    `task_desc`,
    `phase`,
    `workstream`,
    `task_level`,
    `task_owner_group`,
    `start_date`,   // = 上线日期 - 偏移量
    `end_date`,     // = 开始日期 + 完成天数
    `offset_days`,  // 例如 -211(注意:可以低于/高于零:-211或120)
    `days_to_complete`, // 例如 60
    `created_at`
)
SELECT 
    '31',
    `status`,
    `task_desc`,
    `phase`,
    `workstream`,
    `task_level`,
    `task_owner_group`,
    `start_date`,
    `end_date`,
    `offset_days`,
    `days_to_complete`,
    '2022-01-01 00:00:00'   // 查询执行的日期
FROM `old_task_table`;

P粉401901266P粉401901266408일 전507

모든 응답(1)나는 대답할 것이다

  • P粉909476457

    P粉9094764572023-09-08 12:04:17

    생각보다 쉬울 수도 있습니다. 값을 SELECT

    에 전달하면 됩니다. 으아악

    회신하다
    0
  • 취소회신하다