zoukankan      html  css  js  c++  java
  • 如何在存储过程中使用like操作符

    目标:
    要查询数据库中的一个操作日志表,其中要根据日志内容进行筛选,比如要查询所有日志内容中有  添加  字样的记录;

    代码:

     1SET QUOTED_IDENTIFIER ON 
     2GO
     3SET ANSI_NULLS OFF 
     4GO
     5if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetOperationLogs]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
     6drop procedure [dbo].[GetOperationLogs]
     7GO
     8
     9
    10/* 查询Voltage_Dist_Data的存储过程 */
    11create procedure GetOperationLogs
    12(
    13    @useridList varchar(500),  
    14  @BeginTime datetime,
    15  @EndTime datetime,
    16  @description varchar(500)
    17)
    18as
    19begin
    20  declare @s varchar(2000)
    21  set @s='select * from d_lg_6'
    22  /* 如果没有设置任何查询条件,在返回所有的operationlogs */
    23  if ((@useridList=null)and(@BeginTime=null)and(@EndTime=null)and(@Description=null))
    24  begin
    25      exec(@s)
    26      return
    27  end      
    28  set @s=@s+' where '
    29  /*如果设置了useridList,则返回这些用户的OperationLogs */
    30  if (@useridList!=null)
    31      set @s=@s+' userid in ('+@useridList+') and '
    32  /*如果设置了查询时间,则返回该时间那的查询时间*/
    33  if ((@BeginTime!=null)and(@EndTime!=null))
    34      set @s=@s+' logtime between '''+convert(varchar(19),@BeginTime,120)+''' and '''+convert(varchar(19),@endtime,120)+''' and '
    35  /*如果设置了日志内容过滤器,则过滤日志内容 */
    36  if (@Description!=null)
    37      set @s=@s+' Description like ''%'+@Description+'%'''
    38  if (substring(@s,len(@s)-2,3)='and')
    39      set @s=substring(@s,0,len(@s)-3)
    40  exec(@s)
    41  --select @s
    42  --select substring(@s,len(@s)-2,3)
    43end
    44GO
    45SET QUOTED_IDENTIFIER OFF 
    46GO
    47SET ANSI_NULLS ON 
    48GO

    这里的关键还是 两个单眼号的连续使用,注意观察
    1if (@Description!=null)
    2      set @s=@s+' Description like ''%'+@Description+'%'''
    这里%旁边的是两个单眼号,而不是双眼号;
    注意了这点就ok了,其他的没什么好说的;
    祝你成功
  • 相关阅读:
    jeecg 笔记之 自定义显示按钮 (exp 属性)
    jeecg 笔记之 自定义word 模板导出(一)
    jeecg 默认为空的字段值是如何被填充的?
    算法题——立方体的体对角线穿过多少个正方体?
    借用Snippet插件美化博客中的代码
    用PS设计等高线效果的背景图片
    算法题——投篮比赛获胜概率问题
    计算机中的颜色XIV——快速变换颜色的V分量
    算法实践——Twitter算法面试题(积水问题)的线性时间解法
    UI设计实战篇——利用Bootstrap框架制作查询页面的界面
  • 原文地址:https://www.cnblogs.com/strinkbug/p/575229.html
Copyright © 2011-2022 走看看