當前位置:首頁 » 編程語言 » sql條件找不到時返回0
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql條件找不到時返回0

發布時間: 2022-03-31 18:23:46

sql中select語句怎樣修改才能使得沒有滿足條件時顯示0。

用if exists判斷
if not exists
(select 'DLTS' as type,type as xtype,COUNT(*) as sum from T_Login where IsDel=0)
begin
select 'DLTS' as type,'0' as xtype,'0' as sum
end

if exists
(select 'DLTS' as type,type as xtype,COUNT(*) as sum from T_Login where IsDel=0)
begin
select 'DLTS' as type,type as xtype,COUNT(*) as sum from T_Login where IsDel=0 group by type
end

❷ sql 查詢時有空值返回0怎麼寫

根據資料庫的不同,採用如下不同的方法:

  1. oracle

    將空值返回0用如下語句:
    select nvl(欄位名,0) from 表名;

  2. sqlserver

    將空值返回0用如下語句:


    方法一:select isnull(欄位名,0) from 表名;
    字元型:select isnull(mycol,'0') as newid from mytable
    整型:select isnull(mycol,0) as newid from mytable


    方法二:case ……end
    case when columnName is null then 0 else columnName end

  3. mysql

    將空值返回0用如下語句:
    select ifnull(欄位名,0) from 表名;


拓展資料:

SQL SELECT 語句

SELECT 語句用於從表中選取數據。

結果被存儲在一個結果表中(稱為結果集)。

SQL SELECT 語法

SELECT 列名稱 FROM 表名稱。

❸ sql查詢沒有數據的時候怎麼用0填充

這樣:

SELECT

a.dt AS '時間',

ISNULL(b.yield, '0') AS '數據'

FROM

(

SELECT

dateadd(d, number, '2018-11-01') dt

FROM

master..spt_values

WHERE

type = 'p'

AND dateadd(d, number, '2018-11-01') <= '2018-11-30'

) a

LEFT JOIN CE_BD_E_ELECTRIC_WORKSHIFT_T b ON a.dt = b.opdate

(3)sql條件找不到時返回0擴展閱讀:

注意事項

COALESCE是一個函數, (expression_1, expression_2, …,expression_n)依次參考各參數表達式,遇到非null值即停止並返回該值。如果所有的表達式都是空值,最終將返回一個空值。使用COALESCE在於大部分包含空值的表達式最終將返回空值。

場景一:你想要獲取最大值,然後+1返回(即返回的值已經默認為空了),程序接收了本來不該為空的值去運算,就會出錯。

SELECT MAX(my_money)+1 FROM tb_test;

改進方法:使用 coalesce函數 COALESCE(值1, 值2,......, 值n) ,只要遇到非null值就返回。

這樣子就可以設置一個值,讓你第一個不成功後,返回指定的值,如下面,返回的是1.

SELECT COALESCE(MAX(my_money)+1, 1) FROM tb_test;

❹ sql 查詢問題!返回值為什麼總是為0

object x = (object)odcmd.ExecuteScalar();
這句話查詢ExecuteScalar()返回的是第一行的第一列的數據影響說,如果沒有,則返回的是0,有則返回的是1.
你把這件改成
int x=odcmd.ExecuteNonQuery();就OK了

❺ sql 語句查詢count時,如果沒有就返回0

關聯基礎表,沒有的話就造一個唄,類似這樣

selecttmp.d_unme,isnull(stat.count,0)
from(select'[email protected]'d_unmeunionallselect'ceshihao'unionallselect'[email protected]')tmp
leftjoin(selectCOUNT(0)as'count',d_unmeas'userName'fromdmelstwhered_unmein('[email protected]','ceshihao','[email protected]','')groupbyd_unme)statontmp.d_unme=stat.userName

不同的資料庫,語法不一樣,自己改改吧

❻ 如何用SQL語句查詢後,返回不存在的值,並用一個字元代替

假如張三這個人不存在,在sqlserver里就這么執行
select case when 工資 is null then 0 end from 表 where 員工姓名='張三'
上邊這個有問題,剛才改了一下,上邊這個問題是,如果不存在這個員工,那麼選定行就是0,所以還是得不出結果
試驗下邊這個
select sum(a.工資) from
(select 0 as 工資 union all
select 工資 from 表 where 員工姓名='張三') a;

❼ sql將查詢不到的數據返回0

利用decode函數可以實現

❽ 用SQL語句查詢表中是否存在某條數據,若有返回1,若無返回0。不用存儲過程怎麼實現

CASE WHEN 你的條件 THEN '1' ELSE '0' END case 和 when 一般用來將行轉化為列 將列轉換為行 還有一種方法是 rownumber

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

mysql:

selectifnull(count(*),0)+0asccFromdede_diyform3whereifcheck=0

sqlserver:

selectisnull(count(*),0)+0asccFromdede_diyform3whereifcheck=0

挑著用吧

❿ SQL:判斷行是否存在於表中,如果存在則返回1,不存在則返回0.

SELECT A.RECORD,CASE WHEN B.RECORD IS NOT NULL THEN 1 ELSE 0 END
FROM TABLE1 A
LEFT JOIN TABLE2 B
ON A.RECORD=B.RECORD