>source

다른 컬럼으로 구성되도록 SQL 컬럼에 기본값을 설정할 수 있습니까? 예를 들어, 아래 표에서 EndDate를 StartDate + NoOfDays로 기본값으로 설정할 수 있습니까? 따라서 삽입 할 때 xxx VALUES StartDate NoOfDays에서 xxx에 삽입하기 만하면됩니다.

  • 답변 # 1

    생성 된 열을 사용할 수 있습니다.

    create table mytable (
        startdate datetime not null,
        noofdays int not null,
        enddate datetime as (startdate + interval noofdays day)
    );
    
    

    그런 다음 다음과 같이 삽입합니다.

    insert into mytable (startdate, noofdays) values(now(), 3);
    
    

    다음을 생성합니다.

    시작일 | 정오 | 종료일
    : ------------------ | ------- : | : ------------------
    2020-12-12 01:28:27 | 3 | 2020-12-15 01:28:27
    

    DB Fiddle 데모

    이것은 정확히 같은 것은 아닙니다.기본, 질문에서 언급했습니다. 기본값은 일반 열에 적용되며 값이 제공되지 않은 경우에만 사용됩니다. insert 시각. 반면 생성 된 열은 직접 쓸 수 없습니다.

    <시간 />

    편집하다

    SQL Server에서 :

    create table mytable (
        startdate datetime not null,
        noofdays int not null,
        enddate as dateadd(day, noofdays, startdate)
    )
    
    

    데모

관련 자료

  • 이전 angular - 과도한 메모리 및 CPU 사용으로 인한 NgRx 및 redux 개발 도구 성능 문제
  • 다음 Python의 큰 파일에서 특정 줄 번호 만 읽습니까?