1. 程式人生 > >Oracle初識筆記(二)

Oracle初識筆記(二)

初識Oracle資料庫,學習中的一些筆記及所遇問題。

約束

適用所有:檢視約束: desc user_constraints;
禁用/啟用約束:disable/enable constraint xxx;
刪除約束:drop constraint xxx;
1. 非空約束
新增約束:建立時在欄位的資料型別後加not null,或者alter table xxx modify 欄位 資料型別 not null;
去除非空約束:alter table xxx modify 欄位 資料型別 null

  1. 主鍵約束(非空唯一)
    新增約束:alter table xxx add constraint 約束名 primary key (欄位..);
    刪除約束:drop constraint xxx

  2. 外來鍵約束

  3. 唯一約束
    新增約束:create table xxx (欄位名,數字…) constraint xxx unique(欄位名),或者alter table xxx add constraint xxx unique (欄位名);
    刪除約束:drop constraint xxx

  4. 檢查約束
    新增約束:建立表時在相應欄位後新增check(約束條件),或者alter table xxx add constraint xxx check (條件);
    刪除約束:drop constraint xxx

函式

  1. 四捨五入函式:round(n[,m]),
    m省略:0;m>0:小數點後m位四捨五入;m>0:小數點前m位四捨五入。
    eg:round(23.4):23;round(23.45,1):23.5;round(23.45,-1):20

  2. 取整函式:ceil(n):最大值;floor(n):最小值;
    eg:ceil(23.45):24;floor(23.45):23

  3. 截斷函式:trunc(number,n),擷取到小數點後n位
    eg:trunc(168.888,1):168.8

  4. 取絕對值函式:ABS(n)

  5. 取餘函式:mod(n,m),對n/m取餘,任一為0返回null
  6. 求冪函式:power(n,m),求n的m次冪
    eg:power(2,3):8;power(0,2):null

  7. 平方根函式:sqrt(n),求n的平方根

  8. 三角函式:sin(n),asin(n),cos(n),acos(n),tan(n),atan(n)
  9. 字元大小寫轉換函式:upper(char):將字串char的大寫字元轉換為小寫;lower(char):小寫轉換為大寫;initcap(char):首字母轉換函式
    eg:upper(‘abDe’):ABDE;lower(‘ADe’):ade;initcap(‘asd’):Asd

  10. 獲取子字串函式:substring(char,n[,m]),從第n位開始,擷取m位,
    m省略:從第n為開始擷取到最後;n<0:從倒數第n位開始擷取m位
    eg:substring(‘abcde’,2,3):bcd;substring(‘abcde’,2):bcde;subtring(‘abcde’,-2,1):e

  11. 獲取字串長度函式:length(char)

  12. 字串連線函式:concat(char1,char2)=char1 || char2
    eg:concat(‘ab’,’cd’)=’ab’ || ‘cd’:abcd

  13. 去除子串函式:trim(leading|trailing|both c1 from char):從char中刪除字元左邊|後邊|兩邊的c1(預設為both),只有一個引數時,表示刪除左右兩端空格;ltrim(char):刪除左端空格;rtrim(char):刪除有段空格
    eg:trim(leading ‘a’ from ’ abcdaa ‘): bcdaa ;trim(trailing ‘a’ from ’ abcdaa ‘): abcd ;trim(both ‘a’ from ’ abcdaa ‘): bcd ;trim(’ abcdaa ‘):abcdaa;ltrim(’ abcdaa ‘):abcdaa ;rtrim(’ abcdaa ‘): abcdaa;

  14. 替換函式:replace(原字串char,需替換的字串char1[,用來替換的字串char2]):char2省略則去除char1;
    eg:replace(‘aabbcc’,’bb’,’dd’):aaddcc;replace(‘aabbcc’,’bb’):aacc

  15. 系統時間函式:sysdate:獲取系統當前時間,格式:DD-MON-RR 10-7月-17

  16. 日期操作函式:
    add_month(date,i):返回在指定日期上新增的月份,i可以為任何整數;
    next_day(date,char):char為星期幾,返回的是date的下一個星期幾是什麼日期;
    eg:在7月10日,週一:next_day(sysdate,’星期二’):11-7月-17
    last_day(date):返回date所在月份的最後一天;
    months_between(date1,date2):表示date1月date2之間相隔的月份數;
    extract(date from datetime):返回datetime中的部分:
    eg:extract(month from sysdate):07;

  17. 日期轉換為字串函式:to_char(date,fmt,params):date:日期,fmt:格式,params:編碼,一般省略;常用格式: 年:yy或yyyy或year;月:mm或month;日:dd或day;時:hh24或hh12;分:mi;秒:ss
    eg:to_char(sysdate,’yyyy-mm-dd hh24:mi:ss):2017-07-31 10:54:50

  18. 字元轉換為日期函式:to_date(char,fmt,params),fmt為字串char的日期格式,轉換的日期結果為預設系統時間格式
    eg:to_date(‘2017-07-31 10:56:50’,’yyyy-mm-dd hh24:mi:ss’):31-JUL-17

  19. 數字轉換為字串函式:to_char(number,fmt):關於fmt:
    9:顯示數字並且忽略前面的0;
    0:顯示數字,位數不足用0補齊;
    .或D:顯示小數點;
    ,或G:顯示千位符;
    美元符:顯示美元符號;
    L:顯示本地貨幣符號;
    MI:在數的右邊顯示減號;
    PR:把負數用尖括號擴起來;
    S:加正負號(前後均可);
    eg:to_char(12345.789,’美元符99,999.999’):$12,345.678

  20. 字元轉換為數字函式:to_number(char,fmt)
    eg:to_number(‘美元符1,000’,’美元符9999’):1000

  21. cast(number as real):去除小數點後的無效數字0
    eg:cast(25.300000 as real):25.3

  22. 略空函式:nvl(x1,x2):當x1為空時返回x2,否則返回x1,x1可以數字,字元,日期型別的函式,但x2必須與x1資料型別一致
    eg:數字型別:nvl(number,0);字元型別:nvl(to_char(number),0);日期型別:nvl(date,’31-DEC-99’)

  23. NVL2(x1,x2,x3):對nvl函式的擴充,若x1不為空,返回x2,若x1為空則返回x3
  24. DECODE函式:邏輯判斷函式
    eg:decode(job,’普通員工’,sal*1.15,’部門經理’,sal*1.20,’總經理’,sal*1.25):普通員工薪水*1.15,部門經理薪水*1.20,總經理薪水*1.25

  25. case when函式

相關推薦

Oracle初識筆記

初識Oracle資料庫,學習中的一些筆記及所遇問題。 約束 適用所有:檢視約束: desc user_constraints; 禁用/啟用約束:disable/enable constrain

Oracle學習筆記——臨時表

create 永久 以及 alter 會話 數量 ger pan 復雜 在針對大數據量的多表級聯查詢或復雜事務處理的時候,引入Oracle臨時表是一種不錯的策略。因此,在解決實際需求時經常會遇到需要使用存儲過程和臨時表相互配合的情況。下面就Oracle如何創建臨時表以及註意

Oracle使用筆記

一、表空間 1、建立表空間 create tablespace db_test --表空間名 datafile 'D:\oracle\product\11.2.0\dbhome_1\oradata\orcl\test.dbf' --物理檔案 表空間資料檔案存放路徑 size 50m --大小初始

Oracle初識筆記

初識Oracle資料庫,學習中的一些筆記及所遇問題。 這些天學習了Oracle一些基礎,開始嘗試做查詢和一些報表,過程中遇到一個報錯卡了很長時間,做個記錄。 開始SQL程式碼如下: select

Oracle初識筆記

初識Oracle資料庫,學習中的一些筆記及所遇問題。 一、遠端資料備份: cmd:exp 使用者名稱/密碼@要連線的遠端計算機IP(:埠)/要備份的遠端資料庫名稱 file=檔案路徑 例:exp

Oracle筆記 SQLPlus命令

建立 sql 後綴 一個數 例程 imm 模式 命令行 rac Oracle筆記(二) SQLPlus命令 對於Oracle數據庫操作主要使用的是命令行方式,而所有的命令都使用sqlplus完成,對於sqlplus有兩種形式。 一種是dos風格的sqlplus:sql

python3學習筆記:Python初識

區別 說明 from 學習筆記 情況 不能 col 需要 學習 一、算法 在開始認真地編程之前,首先來解釋下什麽是計算機程序設計。簡單地說,它就是告訴計算機要做什麽。計算機可以做很多事情,但是它不會自己思考,需要我們告訴它具體細節,並且使用計算機能夠理解的語言把算法告

【學亮開講】Oracle儲存過程教學筆記20181116

--帶出參的儲存過程的建立和呼叫 create or replace procedure pro_owners_add1 ( v_name varchar2,--名稱 v_addressid number,--地址編號 v_housenumber varchar2,--門牌號 v_wat

oracle資料庫學習筆記之分組統計查詢

統計函式(分組函式) 在oracle裡面對於統計函式提供有很多種,下面主要介紹標準的五個統計函式: - 統計表中的資料量:COUNT(*  |  欄位  |  DISTINCT 欄位) - 統計平均值: AVG(列) - 求和:SUM(列) - 最大值 :MAX(列) -

Oracle 筆記、安全管理

一、建立使用者二、使用者授權三、角色機制四、配置模版及資源限制附錄     資料庫安全的作用是控制使用者是否能夠對資料庫及其中的物件執行操作。要連線到 Oracle 資料庫,就需要建立一個使用者帳戶,該使用者可以根據需要授予不同的操作許可權。一、建立使用者    CREATE

Oracle筆記——虛擬機器下Centos7 x64位安裝Oracle 11g R2詳解

win7 x64位+VMware12+centos7 x64位+oracle 11g R2安裝詳解(二) 一、準備安裝的軟體及需要的工具    1、Oracle11g R2 ,下載連結,選擇Lin

oracle學習筆記 子程式——函式與觸發器

子程式——函式 語法 之前select語句中使用的函式,都是SQL內建函式,我們可以通過自定義函式更滿足我們的需要。 自定義函式的語法和儲存過程差不多。 create [or replace] $funtion_name$[(引數..)] return $data_type$ is/as

ios筆記控件屬性

let less sin alpha rec 再次 fontsize adjust 旋轉 1.設置UIButton的按鈕內容 //設置自定義的按鈕 //UIButton *button1=[UIButton buttonWithType:UIButtonTypeCust

php laravel框架學習筆記 數據庫操作

true 數據 mar sql show top 一行 ati del 原博客鏈接:http://www.cnblogs.com/bitch1319453/p/6810492.html mysql基本配置 你可用通過配置環境變量,使用cmd進入mysql,當然還有一種東

java學習筆記圖形用戶接口

star strong per getwidth cep runnable graphics s2d gb2 這個學期主要放在ACM比賽上去了,比賽結束了。不知不覺就15周了,這周就要java考試了,復習一下java吧。java的學習的目的還是讓我們學以致用,讓我們可以

數據結構學習筆記 線性表的順序存儲和鏈式存儲

出錯 初始化 node != test span 輸入 des val 線性表:由同類型數據元素構成有序序列的線性結構  --》表中元素的個數稱為線性表的長度  --》沒有元素時,成為空表  --》表起始位置稱表頭,表結束位置稱表尾 順序存儲:    1 package

jQuery隨堂筆記

rand htm t對象 ray 日期和時間 日期 數學 second ntb location的屬性: host: 返回當前主機名和端口號定時函數: setTimeout( ) setInterval() 二、document對象 getElementById();

Logstash筆記-----grok插件的正則表達式來解析日誌

linux grok (一)簡介: 豐富的過濾器插件的存在是 logstash 威力如此強大的重要因素。名為過濾器,其實提供的不單單是過濾的功能,它們擴展了進入過濾器的原始數據,進行復雜的邏輯處理,甚至可以無中生有的添加新的 logstash 事件到後續的流程中去! Grok 是 L

Logstash筆記 ----input插件

hello world 在"hello World" 示例中,我們已經見到並介紹了Logstash 的運行流程和配置的基礎語法。 請記住一個原則:Logstash 配置一定要有一個 input 和一個 output。在演示過程中,如果沒有寫明 input,默認就會使用 "hello worl

《HTTP權威指南》--閱讀筆記

cep ask 資源 phrase 格式 tel 位置 自動擴展 port URL的三部分: 1,方案 scheme 2,服務器位置 3,資源路徑 URL語法: <scheme>://<user>:<password>@&