多条件查询存储过程 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
相关文档:
Oracle中常用的命令和函数,做个整理,以备以后用到,方便查阅。
常用命令:
连接sqlplus
命令行下运行cmd进入,如以sys模式登陆,命令如下:
(1).sqlplus "sys/zhb126 as sysdba"
(2).sqlplus/nolog connect sys/zhb126 as sysdba
(3).sqlplus scott ......
这几天一直被中文乱码问题困扰,中文数据插入到My Sql中很正常,在Command client line中也能正常显示,可从数据库中读到JSP页面上时,就变成“火星文”了。
于是上网查询,也看到好多方法:有的说把my.ini中default-character-set=latin1改为default-character-set=utf8,有 ......
在VS中写SQL语句的时候,千万万千要小心再小心,比如 说 数据类型的匹配, 单引号(这个能把人迷死)
where 子句中可千万不能有空格(当查询条件为字符串的时候能把你弄疯,我弄这个的时候都疯了几次了,什么都对就是查不出来,调试了N遍才发现。)不行了,吃饭去,再不吃看见活人都想咬了。 ......
Oracle SQL性能优化技巧大总结 收藏
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):
Oracle的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以 ......
如果原来的数据库可用,分离数据库后,只附加数据文件,不附加日志
如果不可用,只能慢慢等还原操作完成了
日志文件太大了,应该定期整理日志
--压缩日志及数据库文件大小
&n ......