oracle10g 基礎以及SQL函數使用方法


    sql語言基礎

1.結構化語言分類:

DDL 數據定義語言包括:create alter drop

DCL數據控制語言包括:grant revoke

DML數據操作語言包括:select insert delete update

給用戶授權 grant select on dept to panpan;
收回權限 revoke select on dept from panapn;


將abc表中b字段的所有值修改成ttt   update abc set b ='ttt'

修改指定條記錄 update abc set b ='yyy' where a = 'abc'

刪除數據 delete from abc where a='abc'


2.常用系統函數

<1>字符函數 length ltrim replace rtrim substr trim

    1.查詢有字符個數 select length('abc好') from dual  結果是4
    2.查詢有字節個數 select lengthb('abc好') from dual 結果是5

    3.去掉右邊空格函數ltrim 去掉左邊空格用rtrim 去掉左邊和右邊的空格用trim 
            例如:select length(ltrim('  abc好'))from dual 結果爲4
        oracle中如果字段長度如果定製固定了,那麼如果數據內容不夠則用空字符來填充,那麼數據查詢的時候有些數據會有空格存在
    4.取字符串select substr('abcdefg'2,3)from dual 從第二個開始取,取三個。
      oracle不支持左取字符串和右取字符串但有辦法變通,左取字符串函數直接用substr,從右邊開始取從第三個開始取如:
          select substr('abcdef',length('abcdef')-3+1,3) from dual


<2>日期函數 Sysdate next_day
   
    1.取數據庫當前時間:select sysdate from dual;
    2.取數據庫當前時間:select current_date from dual;
    3.設置時間顯示格式:alter session set nls_date_format='dd-mon-yyyy hh-mi:ss'
    4.查詢下個星期三的時間:select next_day(sysdate,'星期三') from dual;
   
   
<3>轉換函數 To_char to_date to_number
   
    1.把日期型轉換成字符型並且設置格式:select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
    2.字符轉換成日期型:select to_date('12-3月-11') from dual;
    3.把字符轉換成整型(字符必須是數字或者數值或日期纔可以轉換):select to_number('00333') from dual;

<4>聚集函數Sum avg max min count
    select sum(字段) from dual; 求和
    select avg(字段)from dual;求平均
    select max(字段) from dual; 查最大的
    select min(字段) from dual;查最小的
    select count(字段)from dual;查詢多少行
    

<5>其他 user decode nvl
   
    1.select user from dual; 查詢當前用戶
    2.select sum(decode(sex,'男',1,0)) ,sum(decode(sex,'女',1,0)) from tablename; decode其實是一個布爾型的判斷函數。
    3.select nvl(字段,'未輸入') from tablename;如果字段有空值的將顯示未輸入
    3.一個語法:如果要查詢字段爲空的應該寫成 select 字段 from table where is null; 不爲空可以使 is not null;
      不能寫成select 字段 from table where 字段=null;語法是正確的,但是數據庫不支持。
    4.一個字段有重複的數據如果只讓他顯示不重複的可以:select distinct 字段 from table;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章