Как выбрать диапазон дат в Microsoft SQL Server? - PullRequest
0 голосов
/ 18 апреля 2020

Я использую (MVC)

Предположим, я отправляю этот диапазон дат 01/04/2020 до 04/04/2020 со стороны входа с моего сервера Microsoft SQL.

Мне нужно создать процедуру выбора, чтобы выбрать данные из этого диапазона дат. Я создал свой запрос, чтобы выбрать детали из следующих таблиц, но я жестко закодировал даты.

Но мне нужно создать свою процедуру для принятия любого диапазона дат из интерфейса, где всегда изменяется диапазон ввода данных пользователем, и мой запрос принять его и вернуть данные обратно в программу MVC.

Может кто-нибудь помочь мне сделать это? Я все еще учусь.

GO

--CREATE PROCEDURE [dbo].[ReservationEnquirySelect_M_Select]'2020-04-01' AND '2020-04-04'
CREATE PROCEDURE [dbo].[ReservationEnquirySelect_M_Select]
AS
BEGIN
    SELECT BRD.ReservationDate
        ,BRH.ReservationNo
        ,BCP.Name1
        ,BCP.Name2
        ,VD.Name
        ,PT.Name
        ,BRH.IsCompleted
    FROM BanquetReservationDetail BRD
    INNER JOIN ReservationHeader BRH ON BRD.ReservationHeaderID = BRH.ReservationHeaderID
    INNER JOIN CustomerProfile BCP ON BRH.CutomerProfileID = BCP.CustomerProfileID
    INNER JOIN VenueDetails VD ON BRD.VenueID = VD.VenueID
    INNER JOIN PackageTypes PT ON BRD.PackageTypeID = PT.PackageTypeID
    WHERE ReservationDate BETWEEN '2020-04-01'
            AND '2020-04-04'
END

ReservationDate МЕЖДУ 2020-04-01 и 2020-04-04. Вместо этого запрос должен принимать диапазон дат от пользователя.

1 Ответ

3 голосов
/ 18 апреля 2020

Вы можете создать свою процедуру, как показано ниже. Существуют различные способы вызова этой хранимой процедуры в элементе управления MVC.

Вот один из способов вызова хранимой процедуры в MVC. Вы также можете использовать Entity Framework для использования процедуры вашего магазина.

CREATE PROCEDURE [dbo].[ReservationEnquirySelect_M_Select] @FromDt DATE
    ,@ToDt DATE
AS
BEGIN
    SELECT BRD.ReservationDate
        ,BRH.ReservationNo
        ,BCP.Name1
        ,BCP.Name2
        ,VD.Name
        ,PT.Name
        ,BRH.IsCompleted
    FROM BanquetReservationDetail BRD
    INNER JOIN ReservationHeader BRH ON BRD.ReservationHeaderID = BRH.ReservationHeaderID
    INNER JOIN CustomerProfile BCP ON BRH.CutomerProfileID = BCP.CustomerProfileID
    INNER JOIN VenueDetails VD ON BRD.VenueID = VD.VenueID
    INNER JOIN PackageTypes PT ON BRD.PackageTypeID = PT.PackageTypeID
    WHERE ReservationDate BETWEEN @FromDt
            AND @ToDt
END
...