oracle的if語句采用decode函數(shù)。
我們提供的服務(wù)有:網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、合陽ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的合陽網(wǎng)站制作公司
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value 等于if1時,DECODE函數(shù)的結(jié)果返回then1,...,如果不等于任何一個if值,則返回else
示例:
比如,有個if語句如下
if(a==1){//如果a等于1,返回2,否則返回3
return?2;
}else{
return?3;
}
翻譯成DECODE如下
DECODE(a,1,2,3)
取小數(shù)可以用round,比如我這個例子,保留兩位小數(shù)就是
select?a,round(a/(select?sum(a)?from?test_0407),2)?from?test_0407
希望能對你有所幫助
1、創(chuàng)建新的測試數(shù)據(jù)表,或者可以選擇要測試的現(xiàn)有表數(shù)據(jù)。這只是測試字符串連接,不會影響數(shù)據(jù)內(nèi)容。從T_BASE_PROVINCE t中選擇*,其中t.id = 1。
2、首先介紹下一個||滿足連接,||可以一次連接多個字符串,選擇t.PROVINCEID ||來自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。
3、由||連接除了字段和字段之間的字符串連接之外,還可以將方法連接到常量字符串選擇'?。?||來自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。
4、您還可以使用CONCAT函數(shù)連接到字符串,傳入函數(shù)字符串1和字符串2,兩個參數(shù)。參數(shù)的方式也支持常量字符串從T_BASE_PROVINCE t中選擇CONCAT(t.PROVINCEID,t.PROVINCE),其中t.id = 1。
5、如果要連接的字符串有兩個以上的參數(shù),如下例所示,則有4個字符串連接。運行后,測試發(fā)現(xiàn)異常,參數(shù)無效。從T_BASE_PROVINCE t中選擇CONCAT('省ID:',t.PROVINCEID,'省:',t.PROVINCE),其中t.id = 1; -? ERROR ORA-00909:參數(shù)數(shù)量無效。
6、對于上述問題,如果連接參數(shù)大于2,則可以選擇CONCAT嵌套方法。從T_BASE_PROVINCE t中選擇CONCAT(CONCAT('省ID:',t.PROVINCEID),'省:'),t.PROVINCE),其中t.id = 1。
create table F(
ID number(4) PRIMARY KEY,
A varchar2(10),
B varchar2(5),
C varchar2(10),
D varchar2(50)
);
select D || B || A from F where B 0;
select D from F where A = '獨戶';
select D || C || B || A from F where A '獨戶' and B 0;
這樣寫看看是否好用。
1.create user username identified by password;//建用戶名和密碼oracle ,oracle
2.grant connect,resource,dba to username;//授權(quán) grant connect,resource,dba,sysdba to username;
3.connect username/password//進(jìn)入。
4.select table_name,column_name from user_tab_columns where table_name='TABLE_NAME';//查詢表中的表名,字段名等等。 最后的table_name要大寫。
5. 如何執(zhí)行腳本SQL文件? SQL@PATH/filename.sql;
7.查詢用戶下的所有表 select distinct table_name from user_tab_columns; ===僅顯示一列表名。
8.如何搜索出前N條記錄?
select * from tablename where rownumn;--足矣。(--是注釋用的標(biāo)記)
9.查找用戶下的所有表:select * from tab; --查詢該用戶下的所有表及視圖(顯示表名tname, 類型tabname和clusterid)
2、顯示當(dāng)前連接用戶
SQL show user –不能用在sql窗口 只能用在command命令窗口。
3、查看系統(tǒng)擁有哪些用戶
SQL select * from all_users;
4、新建用戶并授權(quán)
SQL create user a identified by a;(默認(rèn)建在SYSTEM表空間下)
SQL grant connect,resource to a;
5、連接到新用戶
SQL conn a/a –或者是connect a/a
6、查詢當(dāng)前用戶下所有對象
SQL select * from tab; --table或是view
7、建立第一個表
SQL create table a(a number);
8、查詢表結(jié)構(gòu)
SQL desc a
9、插入新記錄
SQL insert into a values(1);
10、查詢記錄
SQL select * from a;
11、更改記錄
SQL update a set a=2;
12、刪除記錄
SQL delete from a;
13、回滾
SQL roll;
SQL rollback;
14、提交
SQL commit;
select * from
(select t.*,dense_rank() over (order by cardkind) rank from cardkind t)
where rank = 2;
46. 如何在字符串里加回車?
select 'Welcome to visit'||chr(10)||'' from dual ; --‘||chr(10)||’作為換行符
53. 如何使select語句使查詢結(jié)果自動生成序號?
select rownum COL from table; --主要就是oracle中引入了rownum
54. 如何知道數(shù)據(jù)褲中某個表所在的tablespace?
select tablespace_name from user_tables where table_name='TEST'; --table_name名稱要大寫。
select * from user_tables中有個字段TABLESPACE_NAME,(oracle);
select * from dba_segments where …;
55. 怎么可以快速做一個和原表一樣的備份表?
create table new_table as (select * from old_table);
59. 請問如何修改一張表的主鍵?
alter table aaa drop constraint aaa_key ;
alter table aaa add constraint aaa_key primary key(a1,b1) ;
60. 改變數(shù)據(jù)文件的大小?
用 ALTER DATABASE .... DATAFILE .... ;
手工改變數(shù)據(jù)文件的大小,對于原來的 數(shù)據(jù)文件有沒有損害。
61. 怎樣查看ORACLE中有哪些程序在運行之中?
查看v$session表
62. 怎么可以看到數(shù)據(jù)庫有多少個tablespace?
select * from dba_tablespaces;