运行SP时的选择标准

时间:2019-01-25 18:15:49

标签: sql-server

enter image description here所以我创建了一个运行良好的小型SP,但是我希望能够使其执行时要求您选择开始日期和结束日期,到目前为止,我还没有高兴解决它。

下面是我的查询,有人可以告诉我我需要做些什么,以便迫使您在执行时同时选择开始日期和结束日期吗?

我尝试了一百种不同的@set date命令,但并没有赢得胜利(我不是专业人士,但会坚持前进)。

还附有我在执行SP时看到的屏幕快照,没有任何参数是我所苦苦挣扎的。

谢谢!

USE [CBS_AFRICA_LIVECOPY]
GO
/****** Object:  StoredProcedure [dbo].[usp_LOADINGHOURS]    Script Date: 25/01/2019 19:54:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[usp_LOADINGHOURS]
AS

SELECT FOLIO_NUMBER, STATUS,  FORMAT(TERM_START_LOAD_TIME ,'HH') as TERM_START_LOAD_TIME, FORMAT(TERM_END_LOAD_TIME ,'HH')
as TERM_END_LOAD_TIME,TERMINAL_NAME, TERMINAL_ID FROM ORDERS 

JOIN TERMINAL_OWNER ON ORDERS.LOADING_TERMINAL_ID = TERMINAL_OWNER.TERMINAL_ID

ORDER BY FOLIO_NUMBER DESC

1 个答案:

答案 0 :(得分:0)

您可能想尝试一下

ALTER PROCEDURE [dbo].[usp_LOADINGHOURS] 
@startdate as datetime,
@enddate as datetime

AS
Begin

SELECT FOLIO_NUMBER, STATUS,  
FORMAT(TERM_START_LOAD_TIME ,'HH') as 
TERM_START_LOAD_TIME, 
FORMAT(TERM_END_LOAD_TIME ,'HH') as 
TERM_END_LOAD_TIME,
TERMINAL_NAME, 
TERMINAL_ID 
FROM ORDER JOIN TERMINAL_OWNER ON 
ORDERS.LOADING_TERMINAL_ID = 
TERMINAL_OWNER.TERMINAL_ID

Where DBTABLE.DATE>=@startdate 
AND    DBTABLE.DATE<=@enddate

ORDER BY FOLIO_NUMBER DESC

End