zoukankan      html  css  js  c++  java
  • 简单实现多条件查询

          我们在开发过程中,特别是数据库系统的开发中经常会遇到多条件的查询状况。例如:查询某一个部门某个时间段的车辆费用支出,这就涉及到多条件查询。其实多条件查询的方法有很多种,有些写法是比较烦琐,效率也不高,比如一个条件一个条件去if—else判断拼凑sql语句。我在这里使用一种个人觉得写法简单,理解也比较简单的方法:
      CREATE PROCEDURE
    [dbo].[usp_GetFeeInfo]
                 @Number nvarchar(50) = null,
    --车牌号
                 @Unit nvarchar(50) = null, --部门
                 @FeeType
    nvarchar(50) = null, --费用类型
                 @StartDate datetime = null,
    --查询的起始时间
                 @EndDate datetime = null 
    --查询的结束时间
    AS
    BEGIN
     select 
    f.ID,
       f.Number,
       f.[Type],
       f.FeeDate,
       round(f.[Money],2)
    as [Money],
       f.Status,
       f.Memo,
       c.id as
    cid,
       c.unit1
     from Fee f left join Car c
     on f.Number =
    c.Number
     where (f.Number = @Number or @Number is
    null)  --如果@Number参数为null的话那表示这个字段不在查询的条件中;这可以在程序里简单的实现。
      and (c.unit1 =
    @Unit or @Unit is null)
      and (f.[type] = @FeeType or @FeeType is
    null)
      and (f.Feedate >= @StartDate or @StartDate is null)
      and
    (f.Feedate <= @EndDate or @EndDate is null)
     order by f.FeeDate
    desc
    END

    程序里面你只要把所有查询条件的值都录入进去。
    例如:如果为“全部”的话,那就把这个字段的值设置为:null
  • 相关阅读:
    查看端口有没有被占用
    微信公众号2()
    How to insert a segment of noise to music file
    puppet practice
    Docker Commands
    LempelZiv algorithm realization
    The algorithm of entropy realization
    Java network programmingguessing game
    Deploy Openstack with RDO and Change VNC console to Spice
    puppet overview
  • 原文地址:https://www.cnblogs.com/zwq194/p/1974801.html
Copyright © 2011-2022 走看看