多条件查询存储过程 SQL Server
多条件查询存储过程
多条件查询存储过程 例一
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_NATUR
相关文档:
问:怎样在一个UPDATE语句中使用表B的三个列更新表A中的三个列?
答:对这个问题,您可以使用强大的关系代数。本页中的代码说明了如何组合使用from子句和JOIN操作,以达到用其他表中数据更新指定列的目的。在设计关系表达式时,您需要决定是否需要单一行匹配多个行(一对多关系),或者需要多个行匹配被联接表中的单一 ......
参照案例教程建立的数据库管理系统在甚多方面都存在问题。可能是新手,不管是对于大一就学过的VB编程还是这个学期刚接触的SQL,很多小问题常常出现在调试过程中。想请熟悉使用这两个平台的高手帮忙指点一下。
1.如何解决DataGrid中多个column和SQL中多个表的绑定?目的 ......
SELECT * into newtable
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\aaaa.xls";User ID=Admin;Password=;Extended properties=Excel 11.0')...[Sheet1$]
/******* 导出到excel
exec master..xp_cmdshell 'bcp settledb.dbo.shanghu out c:\temp1.xls -c -q -s"gnetdata/gnetdata" - ......
Oracle SQL性能优化技巧大总结 收藏
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):
Oracle的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以 ......