1
    CREATE TABLE "Reservation"(

    ReservationID int IDENTITY (1,1) NOT NULL,
    CustomerID int NOT NULL,
    RoomNo int NOT NULL,
    CheckInDate date NULL,
    CheckOutDate date NULL,
    NoOfDays int NULL,

    CONSTRAINT PK_Reservation PRIMARY KEY(ReservationID),

    CONSTRAINT FK_Reservation_Customers_CustID FOREIGN KEY(CustomerID)  
        REFERENCES dbo.Customers(CustomerID),

    CONSTRAINT FK_Reservation_Rooms_RoomNo FOREIGN KEY(RoomNo)
        REFERENCES dbo.Rooms(RoomNo)
)


INSERT Reservation(CustomerID,RoomNo,CheckInDate,CheckOutDate,NoOfDays)
        VALUES(1,101,'2012-01-01','2012-01-30',DATEDIFF(NoOfDays,'CheckInDate','CheckOutDate'))

「CheckInDate」と「CheckOutDate」の間の日数を計算し、この値を NoOfDays の挿入ステートメントに含める方法を教えてください。説明するのは難しいですが、私がここで達成しようとしていることを理解していただければ幸いです。

4

1 に答える 1

3

更新しました:

これを試して:

INSERT Reservation(CustomerID,RoomNo,CheckInDate,CheckOutDate,NoOfDays)
    VALUES(1,101,'2012-01-01','2012-01-30',DATEDIFF(day,'2012-01-01','2012-01-30'));

SQL フィドル

于 2012-08-31T14:22:21.837 に答える