資料庫中如何判斷某引數為空就不執行where條件

時間 2021-07-08 21:11:34

1樓:匿名使用者

看你使用的什麼資料庫了。而且問題好像沒描述清楚。

如果是在資料庫中判斷引數,是在儲存過程過程自定義function中麼?資料庫裡面普通的sql沒法傳遞引數的。

以mysql資料庫為例。

在儲存過程中使用判斷一個引數,例引數為vtitleselect a.*

from trn_res_courseware awhere 1 = 1 and

if (vtitle is null, 0 = 0, a.title like concat('%'+vtitle+'%'));

vtitle 是引數。

如果引數為空,則不執行(0=0永遠成立),不為空,則執行 a.title like concat('%'+vtitle+'%')) 查詢條件。

2樓:匿名使用者

$error=“”;

if(empty(變數1))

if(empty($error))

3樓:匿名使用者

是oralce嗎?

是在寫儲存過程中出現的問題嗎?

sql資料庫查詢中,空值查詢條件怎麼寫?

4樓:小小小小吃貨丫

1、首先需要建立資料庫表t_user_info,利用建立表sql語句create table。

2、向數版據庫表裡插

入資料,權按照插入sql語句insert into 執行。

3、插入完畢後,查詢資料庫表記錄select 欄位 from table。

4、查詢資料庫表t_user_info使用者地址為空的記錄select * from table from 欄位 is null。

5、查詢資料庫表t_user_info使用者**不為空的記錄,select * from table where 欄位 is not null。

6、查詢資料庫表t_user_info**不為空且地址為空的記錄,select * from table where 欄位 is not null and 欄位 is null。

5樓:哎呀

在ms sql server和baioracle這兩個主要的資料du庫中,空值都比較特殊,不

zhi能直接用"="或dao"<>"號來比較,如果你內要用這兩個符號比較,就容

會發現,空值即不在等於的集內,也不在不等於的集內。

特別注意的是,空值用“<>”(不等於)比較時,也不在集合內!具體的你自已測試一下就明白了。

常見的做法是用"is null"或“is not null”來確定是不是空值。比如你的情況應該改寫語句為:

where itemno is null

6樓:可靠的王者

一般需要傳輸,稽核,對比,通過,才肯提交,就可能查詢了

7樓:匿名使用者

什麼資料庫?

sqlserver有isnull()函式,可以直接寫成

where isnull(itemno,'')=''

8樓:匿名使用者

select * from table where itemno='' *這個就

是表示此bai字du段沒有任何zhi

值select * from table where itemno is null  *這個就是表示此欄位值為null

你查詢語句dao是不是還有其它的條

回件,若有,找找其答它條件是不是下錯了。

9樓:匿名使用者

where itemno is null 即可

10樓:匿名使用者

itemno='' or itemno is null

11樓:海南生活幫

生活幫:身體共有六條經絡,具體都在腿上的什麼部位?聽聽專家怎麼說

sql查詢資料庫語句條件不滿足沒辦法顯示0,而是空值

12樓:匿名使用者

mysql:

select ifnull(count(*),0)+0 as cc from dede_diyform3 where ifcheck=0

sqlserver:

select isnull(count(*),0)+0 as cc from dede_diyform3 where ifcheck=0

挑著用吧

oracle中查詢某欄位不為空的sql語句怎麼寫

13樓:

sql中判斷非空不能用等號,因為null在sql中被看作特殊符號,必須使用關鍵字 is和not

select * from a where info is not null

14樓:江湖浪子

select id,info from 表名 where info is not null;

15樓:匿名使用者

select * from a where info is not null;

16樓:匿名使用者

比如insert into table a (a1,b1)values("a1",'');

對於這種情況,因抄為表裡存的是'',其實是沒有內容的,要查詢這個欄位,不能直接使用

select *

from a

where b1='';

sql中判斷非空不能用等號,因為null在sql中被看作特殊符號,必須使用關鍵字 is和not

應該如此使用:

select * from a where b1 is null

或者:select * from a where b1 is not null

17樓:匿名使用者

select * from 表名 where 某欄位 is null;

某欄位為空。

select * from 表名 where 某欄位 is not null;

某欄位不為空。

18樓:miss丶暖風

select * from tablename where a is not null and a !="";

sql查詢問題,如果一個條件為空,則預設查詢全部,該怎麼寫sql?

19樓:

select * from tb

where col1=? or nvl(?,'null')='null'

?問輸入條件

nvl是oracle函式 其他的資料庫不知道有沒有類似的

20樓:匿名使用者

大致是這樣:

where ? is null or supplier in(?)不過一般in不行。

where ? is null or supplier = ?

21樓:匿名使用者

可以用isnull來判斷

如select * from table where col1 = isnull(@col1,col1)

22樓:匿名使用者

declare @sql varchar(100) ,@a varchar(10)

set @sql='select * from table where 1=1'

if @a is not null

begin

set @sql=@sql +'col1=@a'end

在SQL Server資料庫中,如何將某

建立表的時候,把這一列設為int型,然後把標識這一個選成是,就可以自動編號了。如果使用語法建立 create table 表名字 自增列名字 int identity 1,1 not null 其他列 你的問題感覺就是改變 增刪改 表的結構而已。alter table 表名 add 列名 型別 增加...

vb操作access資料庫,如何判斷表中是否存在某欄位

1.加個adodc空間 2.這個空間的資料來源連結到access 3.令 adodc1.recordsource select from table where 欄位 xx table是你的表名,xx是你要查詢的內容 adodc1.refresh if adodc1.recordset.record...

如何把資料庫中NULL值設定為,如何把資料庫中NULL值設定為

鯉魚 sql中,設定語句 if 欄位名 is null set 欄位名 0 設定表欄位 update tablename set 欄位名 0 where 欄位名 is null update 表 set 欄位 0 where 欄位 is null 表中對應欄位預設值設定成0 就好了 直接用updat...