oracle怎么寫IF語句
如果是 SQL 語句里面使用。
使用 DECODE 或者 CASE WHEN
DECODE 的用法就是
DECODE(abc, 50, 'A', 'B')
CASE WHEN 的用法就是
CASE WHEN abc=50 THEN 'A' ELSE 'B' END
如果是在存儲過程里面的話,就是簡單的 IF/ELSE 了
SQL 語句的話,就是
SELECT
abc, DECODE(abc, 50, 'A', 'B')
FROM
表
ORACLE里查詢怎樣寫if語句啊
首先要確保這里的 空值 是 NULL,還是0,或是''。
如果是NULL,則:
select NVL(mlr,yqlr) as result from table_name
select NVL2(mlr,mlr,yqlr) as result from table_name (9i及之后)
如果是0:
select NVL(NULLIF(mlr,0),yqlr) as result from table_name (9i及之后)
如果是'',可以參照上面處理
如果是其它情況的話,可能還要轉換判斷一下!
以上僅參考!
Oracle循環語句的寫法有哪些呢
如果您對Oracle循環語句方面感興趣的話,不妨一看。
loop循環: 1。 create or replace procedure pro_test_loop is 2。
i number; 3。 begin 4。
i:=0; 5。 loop 6。
ii:=i+1; 7。 dbms_output。
put_line(i); 8。 if i》5 then 9。
exit; 10。 end if; 11。
end loop; 12。 end pro_test_loop; while循環: 1。
create or replace procedure pro_test_while is 2。 i number; 3。
begin 4。 i:=0; 5。
while i《5 loop 6。 ii:=i+1; 7。
dbms_output。 put_line(i); 8。
end loop; 9。 end pro_test_while; for循環1: 1。
create or replace procedure pro_test_for is 2。 i number; 3。
begin 4。 i:=0; 5。
for i in 1。
5 loop 6。 dbms_output。
put_line(i); 7。 end loop; 8。
end pro_test_for; for循環2: 1。 create or replace procedure pro_test_cursor is 2。
userRow t_user%rowtype; 3。 cursor userRows is 4。
select * from t_user; 5。 begin 6。
for userRow in userRows loop 7。 dbms_output。
put_line(userRow。Id||','||userRow。
Name||','||userRows%rowcount); 8。 end loop; 9。
end pro_test_cursor;。
Oracle if 語句問題
oracle跟sqlserver不同
if 后 then就可以
而sqlserver中
if 后不跟then ,而是跟begin 。.end;
所以你第一個是對的,第二個應該會報錯的
同時update后需要commit;這個lz需要注意一下,否則只在當前會話中update生效,重新再開一個會話還會發現數據沒寫進去
還有,你select 。into那句,xx必須只能是一個值,不能是一列里N多條記錄,否則一個變量不能存放N條數據,如果這種情況得需要用游標來處理
oracle 視圖 if 語句的使用
Create Or Replace View mark_vAsSelect Id,Case score When '優' Then '90' When '中' Then '75' When '差' Then '30' Else score End As scoreFrom mark或者還有個簡單的寫法:Create Or Replace View mark_vAsSelect Id,decode(score,'優','90','中','75','差','30',score) As scoreFrom mark以上希望對你有所幫助。
轉載請注明出處華閱文章網 » oracle的if語句怎么寫