oracle如果为空替换为0,oracle 如何把0转为null
oracle 如何把0轉(zhuǎn)為null
代碼段如下: create table table_1(mon varchar2(50),dep varchar(5),yj number); insert into table_1 values ('一月份','01',10); insert into table_1 values ('一月份','02',10); insert into table_1 values ('一月份','03',5); insert into table_1 values ('二月份','02',8); insert into table_1 values ('二月份','04',9); insert into table_1 values ('三月份','03',8); commit; 做個(gè)簡(jiǎn)單的統(tǒng)計(jì)轉(zhuǎn)換 select dep, sum(decode(mon,'一月份',yj,0)) as 一月份, sum(decode(mon,'二月份',yj,0)) as 二月份, sum(decode(mon,'三月份',yj,0)) as 三月份from table_1group by deporder by dep; 但是我想在表格中,把顯示為0的地方改成顯示為NULL 除開(kāi)那種選出來(lái)后用update把0更改為NULL的方法外,有沒(méi)有別的方法能直接用一個(gè)SQL搞定。
更新時(shí)間:2019-05-17 16:32
最滿意答案
select?dep,
sum(decode(mon,'一月份',yj,'NULL'))?as?一月份,
sum(decode(mon,'二月份',yj,'NULL'))?as?二月份,
sum(decode(mon,'三月份',yj,'NULL'))?as?三月份
from?table_1
group?by?dep
order?by?dep;
select?dep,
sum(decode(mon,'一月份',yj,NULL))?as?一月份,
sum(decode(mon,'二月份',yj,NULL))?as?二月份,
sum(decode(mon,'三月份',yj,NULL))?as?三月份
from?table_1
group?by?dep
order?by?dep;
你說(shuō)的是這兩種哪個(gè)意思?
2013-08-02 回答
其他回答
select nvl(字段名,0) as 字段名 from 表名;
這樣寫(xiě)試一下,看看是否好用。
2013-08-02 回答
相關(guān)問(wèn)答
我覺(jué)得完全可以從本質(zhì)上來(lái)講,SAP和Oracle是一樣的關(guān)鍵是你自己是否還原意花費(fèi)一段時(shí)間沒(méi)日沒(méi)夜的去學(xué)習(xí),這段時(shí)間可能不會(huì)很短:)
下面是MYSQL的語(yǔ)法,自己看著辦 #時(shí)間轉(zhuǎn)字符串 select date_format(now(),'%Y-%m-%d %h:%i:%s'); #字符串轉(zhuǎn)時(shí)間 select str_to_date('2016-5-6','%Y-%m-%d %h:%i:%s');
select dep, sum(decode(mon,'一月份',yj,'NULL')) as 一月份, sum(decode(mon,'二月份',yj,'NULL')) as 二月份, sum(decode(mon,'三月份',yj,'NULL')) as 三月份 from table_1 group by dep order by dep; select dep, sum(decode(mon,'一月份',yj,NULL)) as 一月份, sum(decode(mon,'二月份',yj,NU
...
VB中UTF8轉(zhuǎn)Unicode編碼,沒(méi)見(jiàn)過(guò)轉(zhuǎn)中文的,只有中文轉(zhuǎn)UTF-8的! 代碼僅供參考: Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchW
...
當(dāng)你只檢查某些東西是否“存在”時(shí)(至少,這就是你的C#代碼的樣子),如果你 - 而不是select * - 使用select count(*) ,你可能會(huì)修復(fù)它,因?yàn)镃OUNT將返回0(零) )如果沒(méi)有任何要返回的內(nèi)容,那么您可以在C#代碼中輕松檢查它。 As you check only whether something "exists" or not (at least, that's what your C# code looks like), if you - instead of se
...
你需要重新形成你的約束。 首先,如果您希望某個(gè)字段持有空值,則無(wú)論其他規(guī)則如何,它都必須是空字段。 ApprUserNo NUMBER(10) NULL, -- No Check Constrain
其次,創(chuàng)建一個(gè)約束,表示ApprUserNo不能為NULL,除非ErStatus = 'PENDING' CONSTRAINT ERStatus_Null_Exception CHECK (AppUserNo IS NOT NULL OR ERStatus = 'PENDING'),
...
不,沒(méi)有直接從導(dǎo)出的轉(zhuǎn)儲(chǔ)文件獲取數(shù)據(jù)庫(kù)版本的方法。 數(shù)據(jù)庫(kù)版本應(yīng)該由DBA /誰(shuí)進(jìn)行導(dǎo)出。 您可以從轉(zhuǎn)儲(chǔ)文件或?qū)С鋈罩局姓业綄?dǎo)出實(shí)用程序版本 。 但是,導(dǎo)出實(shí)用程序版本不一定與數(shù)據(jù)庫(kù)版本相同。 strings my_dump_file.dmp | head -n 5
例如,在Unix / Linux中 : -sh-4.1$ strings expfull_DB.dmp|head -n 5
"SYS"."SYS_EXPORT_FULL_01"
x86_64/Linux 2.4.xx
PRIP
AL
...
我認(rèn)為你需要使用CASE 例如 WHEN instr(substr(ovrflo_adrs_info,instr(ovrflo_adrs_info,'bldg')+5),' ') != 0 THEN
length(substr(ovrflo_adrs_info,instr(ovrflo_adrs_info,'bldg')+5))
ELSE
Some Default
END as foo
I think you'll need to use CASE e.g. WHEN instr(su
...
您的陳述只是將值分配給第三列(可能)。 它沒(méi)有訂購(gòu)整個(gè)數(shù)據(jù)集。 除非外部查詢具有order by ,否則結(jié)果集是無(wú)序 order by 。 所以: select . . .
from . . .
order by id, active asc nulls first;
如果這些只是三列,那么你可能甚至不需要keep 。 只是: select id, name, (sysdate - expiry) as active
from . . .
order by id, active asc null
...
我認(rèn)為NULL是你的默認(rèn)值? 例如,我有一個(gè)表,我已將默認(rèn)值更改為NULL: ALTER TABLE UNIQUEVALTEST MODIFY ZIP DEFAULT NULL;
現(xiàn)在當(dāng)我選擇: SELECT COLUMN_NAME, DATA_DEFAULT
FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'UNIQUEVALTEST'
AND data_default IS NOT NULL;
我明白了: ZIP NULL
編輯:為了更好地解釋,如果字段為
...
總結(jié)
以上是生活随笔為你收集整理的oracle如果为空替换为0,oracle 如何把0转为null的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle数据库视图存放位置,orac
- 下一篇: oracle常用的监控,oracle常用