. 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.pswp.cn/news/277288.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277288.shtml
英文地址,請注明出處:http://en.pswp.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&…