. SQL多条件查询存储过程

编辑器加SQL多条件查询存储过程 2010-05-13 17:06:29| 分类: SQL | 标签: |字号大中小 订阅 . 例一、 ALTER proc SelectProduct @ProdID varchar(10), @ProdName nvarchar(30), @CategoryID varchar(5), @MinPrice decimal(10,2), @MaxPrice decimal(10,2) as declare @sql varchar(2000) set @sql='select * from Product where 1=1' if @ProdID<>'' set @sql=@sql+' and ProdID like ''%'+@ProdID+'%''' if @ProdName<>'' set @sql=@sql+' and ProdName like ''%'+@ProdName+'%''' if @CategoryID<>'ALL' set @sql=@sql+' and CategoryID='''+@CategoryID+'''' if @MinPrice<>-1 set @sql=@sql+' and Price>='+cast(@MinPrice as varchar) if @MaxPrice<>-1 set @sql=@sql+' and Price<='+cast(@MaxPrice as varchar) set @sql=@sql+' order by AddTime desc' --print @sql exec(@sql) 例二、 CREATE PROC KY_UsedCar_AdvancedSearch ( @pinpai varchar(35)=null, --1、品牌 @chexing varchar(30)=null, --2、车型 @nianfen varchar(20)=null, --3、车龄 @cheliangsuozaidi varchar(20)=null, --4、省份 @chengshi varchar(20)=null, --5、城市 @xingshigonglishu int=null, --6、行驶里程 @biansuxiang varchar(20)=null, --7、变速箱类型 @jiage int=null, --8、价格区间 @yanse varchar(10)=null --9、颜色 --10、关键字 ) AS declare @sqlStr varchar(500) ----品牌 if @pinpai <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and pinpai='+''''+@pinpai+'''' else set @sqlStr=' where pinpai='+''''+@pinpai+'''' end /*begin set @sqlStr=' where pinpai='+''''+@pinpai+'''' end*/ ----车型 if @chexing <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and chexing='+''''+@chexing+'''' else set @sqlStr=' where chexing='+''''+@chexing+'''' end ----车龄 if @nianfen <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and nianfen='+''''+@nianfen+'''' else set @sqlStr=' where nianfen='+''''+@nianfen+'''' end ----省份 if @cheliangsuozaidi <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and cheliangsuozaidi='+''''+@cheliangsuozaidi+'''' else set @sqlStr=' where cheliangsuozaidi='+''''+@cheliangsuozaidi+'''' end ----城市 if @chengshi <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and nianfen='+''''+@chengshi+'''' else set @sqlStr=' where nianfen='+''''+@chengshi+'''' end ----行驶里程 if @xingshigonglishu <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and xingshigonglishu='+''''+@xingshigonglishu+'''' else set @sqlStr=' where xingshigonglishu='+''''+@xingshigonglishu+'''' end ----变速箱类型 if @biansuxiang <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and biansuxiang='+''''+@biansuxiang+'''' else set @sqlStr=' where biansuxiang='+''''+@biansuxiang+'''' end ----区间价格 if @jiage <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and jiage='+''''+@jiage+'''' else set @sqlStr=' where jiage='+''''+@jiage+'''' end ----颜色 if @yanse <>'' begin if @sqlStr <>'' set @sqlStr=@sqlStr+' and yanse='+''''+@yanse+'''' else set @sqlStr=' where yanse='+''''+@yanse+'''' end EXEC('select * from Ky_U_UsedCarResource'+@sqlStr) GO 例三:http://topic.csdn.net/u/20090313/09/8e851d7b-00a6-4ce0-9797-fffe19845f43.html 我表结构如下: IF EXISTS (SELECT * FROM sysobjects WHERE [NAME]='Employees') DROP TABLE Employees /******************************************************************************** -- --Action:创建员工信息表(Employees) --Author:123 --Create-Date:2009-3-13 *********************************************************************************/ CREATE TABLE Employees ( [Id] int IDENTITY(1,1) CONSTRAINT PK_EE_Id PRIMARY KEY([Id]) not null, --员工信息主键列,自动标识主键列 E_no nvarchar(20) not null, --员工身份编号 E_name nvarchar(20) not null, --员工名称 E_six varchar(10) not null, --员工性别 E_Did int CONSTRAINT FK_E_DId FOREIGN KEY(E_DId) REFERENCES Depts([Id]) not null, --员工部门编号,Depts表[Id]的编号 E_born Datetime not null, --员工出生年月 E_native nvarchar(100)null, --员工籍贯 E_address nvarchar(100) null, --员工现住地址 E_email nvarchar(20) null, --员工Email E_phone nvarchar(30) null, --联系电话,多个电话“;”号隔开 E_telphone nvarchar(30) null, --联系人移动电话,多个电话用“;”号隔开 E_qq nvarchar(15) null, --员工QQ E_datetime datetime not null, --员工入职日期 E_picpath nvarchar(30) null, --员工相片路径 E_work nvarchar(30) null, --员工职位 E_login nvarchar(20) not null, --员工账号 E_pwd nvarchar(20) not null, --员工密码 E_Rid int CONSTRAINT FK_E_RId FOREIGN KEY(E_RId) REFERENCES Roles([Id])not null,--员工权限编号,Roles表[Id]的外键 E_remark nvarchar(200) null, --备注 ) 我要实现根据 E_no、E_name、E_Did、E_work、E_Rid 这5个条件来查询, CREATE PROCEDURE employees_select_SQL_proc @name nvarchar(20), @did nvarchar(3), @work nvarchar(10), @rid nvarchar(3) AS DECLARE @sql nvarchar(1000) SET @sql='SELECT * FROM employees WHERE 1=1' IF(@name IS NOT NULL) BEGIN SET @sql=@sql+' AND E_name LIKE ''%'+@name+'%'' ' END IF(@did IS NOT NULL) BEGIN SET @sql=@sql+' AND E_Did ='+@did END IF(@work IS NOT NULL) BEGIN SET @sql=@sql+' AND E_work LIKE ''%'+@work+'%'' ' END IF(@rid IS NOT NULL) BEGIN SET @sql=@sql+' AND E_Rid ='+@rid END EXEC(@sql) GO 用 print(@sql) 看一下你最後的SQL語句是否正確. 当将非数字类型的 char、nchar、varchar 或 nvarchar 数据转换为 int、float、numeric 或 decimal 时,SQL Server 将返回错误信息。” 具体位置可以用CONVERT关键字在丛书中搜 载中...

转载于:https://www.cnblogs.com/rc727512646/archive/2012/07/03/2575461.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

矩阵转置c语言的思路,矩阵转置 (C语言代码)

解题思路:注意事项:参考代码:#includeint main(){int n,s[100][100];void transposition(int(*p)[100], int n);scanf("%d", &n);for (int i 0; i < n; i){for (int j 0; j < n; j)scanf("%d", *(s i) j);}transposition(s, n);return 0;}vo…

Android PermissionUtils:运行时权限工具类及申请权限的正确姿势

Android PermissionUtils&#xff1a;运行时权限工具类及申请权限的正确姿势 ifadai 关注 2017.06.16 16:22* 字数 318 阅读 3637评论 1喜欢 6PermissionUtil 经常写Android运行时权限申请代码&#xff0c;每次都是复制过来之后&#xff0c;改一下权限字符串就用&#xff0c;把…

实现带下拉菜单的工具栏按钮

在工具栏中使用真彩色图标 实现带下拉菜单的工具栏按钮 20050916转载于:https://www.cnblogs.com/henryzc/archive/2005/11/08/271346.html

文件目录管理与显示c语言,Centos 7 文件和目录管理

查看权限在终端输入:ls -l xxx.xxx (xxx.xxx是文件名)那么就会出现相类似的信息&#xff0c;主要都是这些&#xff1a;-rw-rw-r--其中&#xff1a; 最前面那个 - 代表的是类型中间那三个 rw- 代表的是所有者(user)然后那三个 rw- 代表的是组群(group)最后那三个 r-- 代表的是…

Linux基础监控小工具nmon

nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具&#xff0c; nmon所记录的信息是比较全面的&#xff0c;它能在系统运行过程中实时地捕捉系统资源的使用情况&#xff0c;并且能输出结果到文件中。nmon工具可以帮助在一个屏幕上显示所有重要的性能优化信息&…

vue的配置环境篇

1.电脑已经安装的nodejs和webpack。 2.1&#xff09;打开cmd。winr。可以直接输入node -v查看版本。安装淘宝镜像 npm install -g cnpm --registryhttp://registry.npm.taobao.org &#xff0c;安装成功可以查看下&#xff0c;cnpm -v 3.安装vue脚手架&#xff0c;输入命令&am…

最近比较毁硬件

上上周末公司机器主板南桥在一股青烟中壮烈牺牲……前天家里机器的GF4 Ti4600也半死不活了&#xff0c;不能装驱动&#xff0c;只能用640x480 16色装了驱动系统就无法启动&#xff0c;靠靠的从肥岩那弄了块GF FX5600XT 机器算是能亮了郁闷阿转载于:https://www.cnblogs.com/sko…

行列式运算算法c语言,新手作品:行列式计算C语言版

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼对话 ControlHeightDecrease ShiftUp Arrow 向上调整选定的控件或对话一个对话单位对话 ControlHeightIncrease ShiftDown Arrow 向下调整选定的控件或对话一个对话单位对话 ControlMoveDown Dow…

CentOSLinux安装Docker容器

Docker 使用 环境说明 CentOS 7.3&#xff08;不准确地说&#xff1a;要求必须是 CentOS 7 64位&#xff09;不建议在 Windows 上使用Docker 基本概念 官网&#xff1a;https://www.docker.com/宿主机&#xff1a;安装 Docker 的那台电脑Docker&#xff1a;一个虚拟化软件&…

Agilent RF fundamentals (4)- Impedance match and distortions

1 Impedance match&#xff1a; 2 distortions&#xff1a; Solar radiation produces background noise 转载于:https://www.cnblogs.com/huangbaobaoi/p/9650937.html

怎样才能娶到比尔-盖茨的女儿

怎样才能娶到比尔-盖茨的女儿 一位优秀的商人杰克&#xff0c;有一天告诉他的儿子杰克&#xff1a;我已经决定好了一个女孩子&#xff0c;我要你娶她儿子&#xff1a;我自己要娶的新娘我自己会决定杰克&#xff1a;但我说的这女孩可是比尔盖茨的女儿喔儿子&#xff1a;哇&…

Android动态赋权限,安卓6.0以上动态添加权限超简单模板

今天又是“咔嚓”、“窟窿”、“轰隆”&#xff0c;不晓得哪位大仙在渡劫。真的是风生水起&#xff0c;虎虎生威&#xff01;&#xff01;&#xff01;言归正传&#xff1a;描述&#xff1a;最近做了从服务器下载apk到手机内存&#xff0c;然后安装打开以及 从服务器下载pdf文件…

web前端常用代码于面试等资源

https://www.cnblogs.com/moqiutao/p/4766146.html转载于:https://www.cnblogs.com/as3lib/p/9654925.html

html 跳转到本页面指定位置

1 <html xmlns"http://www.w3.org/1999/xhtml"> 2 <head> 3 </head> 4 <body> 5 <a href"#ct1">跳转到词条1</a> 6 7   <a href"#ct2">跳转到词条2</a> 8   <br> 9   <di…

事情太多了,我实在支持不住了转载于:https://www.cnblogs.com/zjblue/archive/2005/12/03/290186.html

android论坛功能开发教程,Android教程 如何免费生成论坛App

介绍按照快速集成文档&#xff0c;您可以很容易的把BBSSDK提供的功能集成到您的应用中&#xff0c;然后使用BBSSDK来做开发。在集成前&#xff0c;您也可以先下载示例Sample的源码工程(包含应用内打开pdfoffice等格式文件)。使用Android Studio打开后&#xff0c;编译出网站上提…

自动化测试===adb 解锁手机的思路

在adb里有模拟按键/输入的命令 比如使用 adb shell input keyevent <keycode> 命令&#xff0c;不同的 keycode 能实现不同的功能&#xff0c;完整的 keycode 列表详见 KeyEvent&#xff0c;摘引部分我觉得有意思的如下&#xff1a; keycode含义3HOME 键4返回键5打开拨号…

linux 去掉 ^M 的方法

在linux上经常遇到这种问题&#xff0c;从网上下载文件到 linux 上后&#xff0c;就多了很多 ^M这种东西&#xff0c;如何集体删除这种东西呢&#xff01; 用 vim 打开文件 进行如下设置 将文件格式转化为unix :set ffunix :x 转载于:https://www.cnblogs.com/0820LL/p/11174…

What's NEW in C++/CLI Language

作为同时适用于本地/托管环境的新一代C语言扩充&#xff0c;C/CLI的定位与原有的Managed Extensions for C基本一致&#xff0c;在CLR 2.0环境中&#xff0c;它主要承载了如下5个使命&#xff1a; A. 源码级集成 (本地/托管/混合代码编译) B. 对象模型集成 (本地类型/指针、…

android 编译器有问题,Android Studio 3.0 Beta 2发布:解决编译器bug

5月18日&#xff0c;IT之家曾经报道&#xff0c;谷歌发布了Android Studio 3.0的测试版&#xff0c;新增了对Kotlin语言的支持&#xff0c;而日前&#xff0c;谷歌发布了Android Studio 3.0的Beta 2版本。此版本并无新功能加入&#xff0c;不过修复了一个困扰开发人员的bug&…