惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
TaoSecurity Blog
TaoSecurity Blog
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题
T
Troy Hunt's Blog
N
News and Events Feed by Topic
雷峰网
雷峰网
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
PCI Perspectives
PCI Perspectives
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 三生石上(FineUI控件)
Schneier on Security
Schneier on Security
T
The Exploit Database - CXSecurity.com
L
LINUX DO - 最新话题
V
V2EX
T
Threat Research - Cisco Blogs
人人都是产品经理
人人都是产品经理
C
Cisco Blogs
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
I
Intezer
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
月光博客
月光博客
Recent Commits to openclaw:main
Recent Commits to openclaw:main
N
News | PayPal Newsroom
Cyberwarzone
Cyberwarzone
B
Blog
博客园 - 聂微东
P
Palo Alto Networks Blog
A
About on SuperTechFans
The Last Watchdog
The Last Watchdog
Scott Helme
Scott Helme
Google DeepMind News
Google DeepMind News
Webroot Blog
Webroot Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
O
OpenAI News
C
Check Point Blog
Hacker News: Ask HN
Hacker News: Ask HN
W
WeLiveSecurity
V
Vulnerabilities – Threatpost
博客园 - 【当耐特】
有赞技术团队
有赞技术团队
A
Arctic Wolf

博客园 - columbus.yan

windows server 2008 支持 .net framework 4.0 asp.net两层架构常用 - columbus.yan - 博客园 ASP.NET中备份恢复数据库 - columbus.yan - 博客园 SQL Server连接失败错误小结 一条指令搞定“关于内存不能READ“的问题 windows2003中安装.netframework1.1 解决数据库日志文件过满的又一方法 Windows XP 注册表修改大全 两步彻底解决数据库中的日志已满的情况 T-SQL使用技巧集锦5 T-SQL使用技巧集锦4 T-SQL使用技巧集锦3 T-SQL使用技巧集锦2 T-SQL使用技巧集锦1 在Asp.net中如何实现弹出提示对话框 C#中常用的经典文件操作方法 调用存储过程 经典存储过程例子 sql大全
多条件查询存储过程
columbus.yan · 2008-08-01 · via 博客园 - columbus.yan

 多条件查询存储过程 例一
create proc pr_select_Natural
(
 @CDATE  datetime,
 @FAC_NAME varchar(50),
 @BATTERY_TYPE varchar(20),
 @MAKE_MODE varchar(20),
 @PRODUCE_MODE varchar(20),
 @YEAR  char(4),
 @MONTH  char(2),
 @TDATE  datetime,
 @PAGENUM varchar(12)
)
as
declare @strWhere varchar(500)
if ( @CDATE = null )
 set @strWhere = @strWhere+' and CDATE ='+ @CDATE
if ( @FAC_NAME = null )
 set @strWhere = @strWhere+' and FAC_NAME like ''%''+@FAC_NAME+''%'' '
if ( @BATTERY_TYPE = null )
 set @strWhere = @strWhere+' and BATTERY_TYPE like ''%''+@BATTERY_TYPE+''%'''
if ( @MAKE_MODE = null )
 set @strWhere = @strWhere+' and MAKE_MODE like ''%''+@MAKE_MODE+''%'''
if ( @PRODUCE_MODE = null )
 set @strWhere = @strWhere+' and PRODUCE_MODE like ''%''+@PRODUCE_MODE+''%'''
if ( @YEAR = null )
 set @strWhere =@strWhere+ ' and YEAR like ''%''+@YEAR+''%'''
if ( @MONTH = null )
 set @strWhere = @strWhere+' and MONTH like ''%''+@MONTH+''%'''
if ( @TDATE = null )
 set @strWhere = @strWhere+' and TDATE = @TDATE'
if ( @PAGENUM = null )
 set @strWhere = @strWhere+' and PAGENUM like ''%''+@PAGENUM+''%'''
 
set @strMAIN = 'select
  CDATE  as 出厂时间,
  FAC_NAME  as 发货厂家,
  BATTERY_TYPE as 电池型号,
  SEND_TYPE as 发货类型,
  SEND_NUM as 检测数量,
  MAKE_MODE as 制作方式,
  PRODUCE_MODE as 生产方式,
  BATTERY_NUM as 电池组数量,
  [YEAR]  as 年,
  [MONTH] as 月,
  TDATE  as 日期,
  SEND_RULE as 发货规则,
  SEND_CODE as 发货组编号,
  BATTERY_SORT as 电池类别,
  PAGENUM as 条码号,
  FITTING_CODE as 装配号,
  LINE_CODE as 生产机号,
  FLAG  as 是否放行,
  REMARK  as 备注,
  OTHER  as 其他,
  BLANK_COL as 空白列
    from T_INFOCODE_NATURAL
 where 1=1 ' +@strWhere
exec(@strMAIN)

 多条件查询存储过程 例二

------------表中的字段---------------
CREATE TABLE [dbo].[stuInfo] (
[FNumber] [int] IDENTITY(1,1) NOT NULL ,
[FName] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[FNameen] [varchar] (35) COLLATE Chinese_PRC_CI_AS  ,
[FSex] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[FEducation] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[FCardID] [char] (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[FBirDate] [datetime] NOT NULL ,
[FTech] [nvarchar](50) COLLATE Chinese_PRC_CI_AS ,
[FSubject] [nvarchar](50) COLLATE Chinese_PRC_CI_AS,
[FJiF] [nvarchar](100)COLLATE Chinese_PRC_CI_AS,
[FJobAdd][nvarchar](100)COLLATE Chinese_PRC_CI_AS,
[FExamNum][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,
[FServerNum] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[FExamDate] [datetime] NOT NULL ,
[FIsAE] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
----------存储过程-------------------------
IF EXISTS(SELECT *FROM SYSOBJECTS WHERE NAME='PROC_Look')
DROP PROC  PROC_Look
GO
CREATE PROC PROC_Look

@FName  NVARCHAR(30)=NULL,
@FNameen VARCHAR(35)=NULL,
@FCardID CHAR(18)=NULL,
@FExamNum NVARCHAR(30)=NULL,
@FServerNum NVARCHAR(30)=NULL,
@FSex  CHAR(1)=NULL,
@FEducation CHAR(1)=NULL,
@FIsAE  CHAR(1)=NULL,
@FTech  NVARCHAR(50)=NULL,
@FSubject NVARCHAR(50)=NULL,
@FJiF  NVARCHAR(100)=NULL,
@FJobAdd NVARCHAR(100)=NULL,
@FStartTime DATETIME=NULL,
@FEndTime DATETIME=NULL

 
AS
declare @sqlStr varchar(100)
       
if @FName IS NOT NULL
begin
  set @sqlStr=' where FName='+''''+@FName+''''
end
       
if @FNameen IS NOT NULL
begin
    if @sqlStr IS NOT NULL
        set @sqlStr=@sqlStr+' and FNameen='+''''+@FNameen+''''
    else
  set @sqlStr=' where FNameen='+''''+@FNameen+''''
end
   
if @FCardID IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FCardID='+''''+@FCardID+''''
  else
  set @sqlStr=' where FCardID='+''''+@FCardID+''''
end

if @FExamNum IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FExamNum='+''''+@FExamNum+''''
  else
  set @sqlStr=' where FExamNum='+''''+@FExamNum +''''
end

if @FServerNum IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FServerNum='+''''+@FServerNum+''''
  else
  set @sqlStr=' where FServerNum='+''''+@FServerNum+''''
end

if @FSex IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FSex='+''''+@FSex+''''
  else
  set @sqlStr=' where FSex='+''''+@FSex+''''
end

if @FEducation IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FEducation='+''''+@FEducation+''''
                       
                       
  else
  set @sqlStr=' where FEducation='+''''+@FEducation+''''
 
end
if @FIsAE IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FIsAE='+''''+@FIsAE+''''
                       
  else
  set @sqlStr=' where FIsAE='+''''+@FIsAE+''''
                       
end
if @FTech IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FTech='+''''+@FTech+''''
  else
  set @sqlStr=' where FTech='+''''+@FTech+''''
end

if @FSubject IS NOT NULL
  begin
  if @sqlStr IS NOT NULL
    set @sqlStr=@sqlStr+' and FSubject='+''''+@FSubject+''''
  else
    set @sqlStr=' where FSubject='+''''+@FSubject +''''
  end
if @FJiF IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FJiF='+''''+@FJiF+''''
  else
  set @sqlStr=' where FJiF='+''''+@FJiF+''''
end
if @FJobAdd IS NOT NULL
begin
  if @sqlStr IS NOT NULL
  set @sqlStr=@sqlStr+' and FJobAdd='+''''+@FJobAdd +''''
  else
  set @sqlStr=' where FJobAdd='+''''+@FJobAdd +''''
end
EXEC('select *from stuInfo '+ @sqlStr)
GO