oracle如果为空替换为0,oracle 如何把0转为null
oracle 如何把0轉為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; 做個簡單的統計轉換 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 除開那種選出來后用update把0更改為NULL的方法外,有沒有別的方法能直接用一個SQL搞定。
更新時間: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;
你說的是這兩種哪個意思?
2013-08-02 回答
其他回答
select nvl(字段名,0) as 字段名 from 表名;
這樣寫試一下,看看是否好用。
2013-08-02 回答
相關問答
我覺得完全可以從本質上來講,SAP和Oracle是一樣的關鍵是你自己是否還原意花費一段時間沒日沒夜的去學習,這段時間可能不會很短:)
下面是MYSQL的語法,自己看著辦 #時間轉字符串 select date_format(now(),'%Y-%m-%d %h:%i:%s'); #字符串轉時間 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轉Unicode編碼,沒見過轉中文的,只有中文轉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
...
當你只檢查某些東西是否“存在”時(至少,這就是你的C#代碼的樣子),如果你 - 而不是select * - 使用select count(*) ,你可能會修復它,因為COUNT將返回0(零) )如果沒有任何要返回的內容,那么您可以在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
...
你需要重新形成你的約束。 首先,如果您希望某個字段持有空值,則無論其他規則如何,它都必須是空字段。 ApprUserNo NUMBER(10) NULL, -- No Check Constrain
其次,創建一個約束,表示ApprUserNo不能為NULL,除非ErStatus = 'PENDING' CONSTRAINT ERStatus_Null_Exception CHECK (AppUserNo IS NOT NULL OR ERStatus = 'PENDING'),
...
不,沒有直接從導出的轉儲文件獲取數據庫版本的方法。 數據庫版本應該由DBA /誰進行導出。 您可以從轉儲文件或導出日志中找到導出實用程序版本 。 但是,導出實用程序版本不一定與數據庫版本相同。 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
...
我認為你需要使用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
...
您的陳述只是將值分配給第三列(可能)。 它沒有訂購整個數據集。 除非外部查詢具有order by ,否則結果集是無序 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
...
我認為NULL是你的默認值? 例如,我有一個表,我已將默認值更改為NULL: ALTER TABLE UNIQUEVALTEST MODIFY ZIP DEFAULT NULL;
現在當我選擇: SELECT COLUMN_NAME, DATA_DEFAULT
FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'UNIQUEVALTEST'
AND data_default IS NOT NULL;
我明白了: ZIP NULL
編輯:為了更好地解釋,如果字段為
...
總結
以上是生活随笔為你收集整理的oracle如果为空替换为0,oracle 如何把0转为null的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle数据库视图存放位置,orac
- 下一篇: oracle常用的监控,oracle常用