SQL Server 查询时间段内数据

方式一:

ALTER Proc [dbo].[usp_Rpt_AcctTypeAudit]
@FromDate        datetime=null,    -- yyyy-mm-dd  (may change in the future!)
@ToDate            datetime=null,    -- yyyy-mm-dd  (may change in the future!)
@UserID            nvarchar(50) = ALL
as
BEGIN
   set nocount on
   if @ToDate is not null
    begin
        set @ToDate=convert(varchar,@ToDate,112)+ 23:59:59:998
    end

       select 
       AcctType,AcctDesc,HostAcctType,AcctNumLength,
       case [Action] when A then Add when D then Delete when M then Before-Modify when N then After-Modify else ‘‘ end as [Action]
       ,UserID,WsID,CrtTime
       from AcctTypeMasterHist with(nolock)
       where (CrtTime >= @FromDate or @FromDate is null)
         and (CrtTime <= @ToDate or @ToDate is null)
         and (UserID = @UserID or @UserID=ALL or isnull(@UserID,‘‘)=‘‘)
       order by crttime,LogID
END

 

 

方式二:

create  PROCEDURE [dbo].[Sp_CCBA_ProcessLogRpt] 
@FromDate datetime,
@ToDate datetime,
@UserID varchar(27),
@Workstation  varchar(28)
AS

Select * from ProcessLogInf
WHERE DATEDIFF(day, @FromDate, AcDate)>= 0
    ANd DATEDIFF(day, AcDate, @ToDate)>= 0
    AND LogUser = CASE RTRIM(@UserID) WHEN ALL THEN LogUser WHEN ‘‘ THEN LogUser ELSE @UserID END
    AND LogWs = CASE RTRIM(@Workstation) WHEN ALL THEN LogWs WHEN ‘‘ THEN LogWs ELSE @Workstation END

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。