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
时间: 2024-07-30 00:50:39

SQL Server 查询时间段内数据的相关文章

MySQL 查询时间段内的数据

先来建表语句: SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for t_user -- ---------------------------- DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `userId` bigint(20) NOT NULL, `fullName` varchar(64) NOT NULL, `use

用SQL Server查询所有数据并显示

利用SQL Server查询数据,并把所有数据显示在页面上. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@page import="jdbc.sqlServer"%> <%@page import="java.sql.Connection"%> <%@page imp

SQL SERVER 查询第20行到30之间的数据

SQL SERVER 查询第20行到30之间的数据 1.先查询前20行的ID,后查询除去20条记录的前10条记录 SELECT TOP 10 * FROM tbBank WHERE BankID NOT IN(SELECT TOP 20 BankID FROM tbBank ORDER BY BankID ASC) 2.先查询前20行记录最大的ID,后查询大于该值的前10条记录 SELECT TOP 10 * FROM tbBank WHERE BankID>(SELECT MAX(BankID

sql server 查询本年的每个月的数据

原文:sql server 查询本年的每个月的数据 一.以一行数据的形式,显示本年的12月的数据,本示例以2017年为例,根据CreateDate字段判断,计算总和,查询语句如下: select sum(case when datepart(month,CreateDate)=1 then 1 else 0 end) as '1月', sum(case when datepart(month,CreateDate)=2 then 1 else 0 end) as '2月', sum(case w

SQL Server 查询性能优化——创建索引原则(一)

索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引就越好.索引建少了,用WHERE子句找数据效率低,不利于查找数据.索引建多了,不利于新增.修改和删除等操作,因为做这些操作时,SQL SERVER除了要更新数据表本身,还要连带地立即更新所有的相关索引,而且过多的索引也会浪费硬盘空间.因此要建得恰到好处,这就需要经验了. 一:索引的基本目的 索引的基

利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能

首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTICS TIME这二条被经常忽略的Transact-SQL命令的. 从表面上看,查询性能的调节是一件十分简单的事.从本质上讲,我们希望查询的运行速度能够尽可能地快,无论是将查询运行的时间从10分钟缩减为1分钟,还是将运行的时间从2秒钟缩短为1秒种,我们最终的目标都是减少运行的时间. 尽

SQL Server 查询性能优化 相关文章

来自: SQL Server 查询性能优化——堆表.碎片与索引(一) SQL Server 查询性能优化——堆表.碎片与索引(二) SQL Server 查询性能优化——覆盖索引(一) SQL Server 查询性能优化——覆盖索引(二) SQL Server 查询性能优化——创建索引原则(一) SQL Server 查询性能优化——创建索引原则(二) SQL Server 查询性能优化——索引与SARG(一) SQL Server 查询性能优化——索引与SARG(二) SQL Server 查

SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)

原文:SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页) SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅途(www.Zuowenjun.cn) --CreateDate:2015-06-02 --Function:分页获取数据 /******************/ crea

(转)SQL Server 2005的XML数据修改语言(XML DML) (转自MSDN)

SQL Server 2005的XML数据修改语言(XML DML) 发布日期: 2006-08-14 | 更新日期: 2006-08-14 作者:张洪举 Microsoft MVP 应用于:SQL Server 2005,XML 注:本文章中的内容需要相关的XML和XQuery知识 本页内容 1.insert 2.delete 3.replace 作为对XQuery语言的扩展,XML DML为XML数据操作提供了更大的灵活性,而不再仅仅是对XML数据进行一些查询操作.通过XML DML,用户可