亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Oracle數據庫開發利器之函數

難度初級
時長 1小時10分
學習人數
綜合評分9.70
92人評價 查看評價
9.8 內容實用
9.7 簡潔易懂
9.6 邏輯清晰
  • 函數的作用

    1.方便數據的統計

    2.處理查詢結果

    函數分類

    1. 數值函數

    2. 字符函數

    3. 日期函數

    4. 轉換函數

    查看全部
    1. 日期轉字符串:

      TO_CHAR(date,fmt,params)

      date 日期數據

      fmt:轉換格式: YYYY-MM-DD HH24:MI:SS

      params:轉換語言,通常省略

    2. 字符轉日期

      TO_DATE(char,fmt,params)

    3. 數字轉字符串

      TO_CHAR(number,fmt)

      fmt格式:有以下取值:

      9: 顯示數字并忽略前面的0

      0:顯示數字,位數不足用0補齊

      .或D:顯示小數點

      ,或G:顯示千位符

      $:顯示美元符號

      S:加上正負號

    4. 字符轉數字

      TO_NUMBER(char, fmt)

      fmt 和上面一樣,可以省略。

    查看全部
    0 采集 收起 來源:Oracle轉換函數

    2019-07-22

    1. 系統時間

      sysdate? 默認格式? dd-MM-yy

    2. 日期操作

      2.1 ADD_MONTHS(date,i)增加月份

      2.2 NEXT_DAY(date,char)返回的是下周的哪一天,用char指定。根據中英文環境指定不同字符串。

      2.3 LAST_DAY(date)返回所在月的最后一天

      2.4 MONTHS_BETWEEN(date1, date2) 返回兩個日期的月份差,天數不同時,返回的是一個小數。如果要得到兩個日期的天數差,直接對日期進行相減計算。

      2.5 EXTRACT(date FROM datetime) 截取日期的部分,date的取值有year month? day hour minutes seconds?

    select extract(hour from timestamp '2015-10-1 17:25:13') from dual

    查看全部
    0 采集 收起 來源:Oracle日期函數

    2019-07-22

    1. 大小寫轉換

      UPPER? 大寫轉換

      LOWER(n) 小寫轉換

      INITCAP(n) 首字母大寫

    2. 獲取子串

      SUBSTR(char,【m】,【n】)

      m表示起始位置: 默認為0,可以為負數,表示從尾部截取

      n表示截取長度:默認到字符串末端。

    3. 獲取字符串長度

      length(char)

    4. 字符串連接函數

      CONCAT (char1, char2) 與操作符 || 效果是一樣的。

    5. 去除子串函數

      TRIM (char? FROM str) 從str去除一個char字符

      LTRIM (str, char)從str中去除char,從頭部開始只去除一次,非全局去除

      RTRIM(str, char)從str中去除char,從右邊開始只去除一次,非全局去除

      TRIM(str)去除前后空格

    6. 替換函數

      REPLACE(STR, TSTR, RSTR)

      將原字符串STR中的TSTR替換為RSTR。

    查看全部
  • 四舍五入函數:

    ROUND(n, [,m])

    n 需要進行四舍五入的字段

    默認 m = 0

    m > 0表示小數點后m位

    m < 0表示小數點前m位

    取整函數:

    SEIL(n) 向上取整 (向大的方向取整)

    FLOOT(n) 向下取整 (向小的方向取整)

    絕對值函數? abs(n)

    取余函數? mod(n,m)

    冪指函數? POWER(n,m)

    平方根函數? SQRT(n)

    三角函數? SIN(n)? ASIN(n)? COS(n) ACOS(n)? TAN(n)? ATAN(n)? 注意n指的是弧度,不是角度



    查看全部
    0 采集 收起 來源:Oracle數值函數

    2019-07-21

  • ?在員工信息表查詢出員工的生日
    根據身份證號碼得到員工的生日
    select substr(cardid,7,8)from users;
    將部門號01全部替換成信息技術
    select replace(deptno,01,'信息極速') from users;
    將員工信息表中年齡字段與10取余數
    select mod(age,10)from users;
    在查詢中使用日期函數
    select extract(year from redate) from users;

    查詢出5月份入職的員工信息
    select * from? users where extract(month from redate ) = 5;

    查看全部
  • 轉換函數

    日期轉換成字符的函數:to-char(date[,fmt[,params]])【date--將要轉換的日期,fmt--轉換成的格式,params--日期的語言(此參數通常不寫)】

    日期默認格式:dd-mon-rr

    fmt格式定義:yy【兩位的年】 yyyy【四位的年】 year【表示成英文形式】

    mm【兩位的月份】 month【表示英文的月份】

    dd【兩位的天數】 day【表示英文的日】

    hh24【二十四小時制】 hh12【十二小時制】

    mi【分鐘】 ss【秒】

    例子:

    SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

    TO_CHAR(SYSDATE,'YY

    -------------------

    2019-03-26 15:04:33

    SQL> select to_char(sysdate,'yy-mm-dd hh12:mi:ss') from dual;

    TO_CHAR(SYSDATE,'

    -----------------

    19-03-26 03:05:31

    SQL> select to_char(sysdate,'year-month-day hh12:mi:ss') from dual;

    TO_CHAR(SYSDATE,'YEAR-MONTH-DAYHH12:MI:SS')

    --------------------------------------------------------------------

    twenty nineteen-3月 -星期二 03:07:23

    TO_CHAR(SYSDATE,'YEAR-MM-DAYHH12:MI:SS')

    ----------------------------------------------------------------

    twenty nineteen-03-星期二 03:09:00

    SQL> select to_char(sysdate,'year-mm-dd hh12:mi:ss') from dual;

    TO_CHAR(SYSDATE,'YEAR-MM-DDHH12:MI:SS')

    ---------------------------------------------------------

    twenty nineteen-03-26 03:09:29


    字符轉換為日期的函數:to_date(date[,fmt[,params]])【to_date()按照系統默認格式顯示日期】 下例:

    SQL> select to_date('2019-3-26','yyyy-mm-dd') from dual;

    TO_DATE('2019-

    --------------

    26-3月 -19


    數字轉換為字符的函數:to_char(number[,fmt])

    9:顯示數字并忽視前面的0

    0:顯示數字,位數不足用0補齊

    .或D:顯示小數點

    ,或G:顯示千位符

    $:美元符號

    S:加正負號(前后都可以,但不能同時加在前后)


    SQL> select to_char(12345.678,'$99999.999') from dual;

    TO_CHAR(123

    -----------

    ?$12345.678

    SQL> select to_char(12345.678,'$99,999.999') from dual;

    TO_CHAR(1234

    ------------

    ?$12,345.678

    SQL> select to_char(12345.678,'$99,999,999') from dual;

    TO_CHAR(1234

    ------------

    ? ? ?$12,346

    SQL> select to_char(12345.678,'$s99,999,999') from dual;

    select to_char(12345.678,'$s99,999,999') from dual

    ? ? ? ? ? ? ? ? ? ? ? ? ?*

    第 1 行出現錯誤:

    ORA-01481: 無效的數字格式模型

    SQL> select to_char(12345.678,'s99,999,999') from dual;

    TO_CHAR(123

    -----------

    ? ? +12,346


    字符轉換成數字的函數:to_number(char[,fmt])

    SQL> select to_number('$1000','9999') from dual;

    select to_number('$1000','9999') from dual

    ? ? ? ? ? ? ? ? ?*

    第 1 行出現錯誤:

    ORA-01722: 無效數字

    SQL> select to_number('$1000','$9999') from dual;

    TO_NUMBER('$1000','$9999')

    --------------------------

    ? ? ? ? ? ? ? ? ? ? ? 1000


    查看全部
    0 采集 收起 來源:Oracle轉換函數

    2019-06-23

  • 獲取系統時間函數:sysdate,默認格式DD-MON-RR(日-月-年),下例:

    SQL> select sysdate from dual;

    SYSDATE

    --------------

    26-3月 -19

    日期操作:add_months(date.i),函數作用是返回在指定日期上添加的月份【i可以是任何數,若是小數則截取整數,若是負數,則相當于在原來的日期上剪去相應月份】

    SQL> select add_months(sysdate,3),add_months(sysdate,-3),add_months(sysdate,0.5) from dual;

    ADD_MONTHS(SYS ADD_MONTHS(SYS ADD_MONTHS(SYS

    -------------- -------------- --------------

    26-6月 -19? ? ?26-12月-18? ? ?26-3月 -19

    SQL> select add_months(sysdate,3),add_months(sysdate,-3),add_months(sysdate,1.5) from dual;

    ADD_MONTHS(SYS ADD_MONTHS(SYS ADD_MONTHS(SYS

    -------------- -------------- --------------

    26-6月 -19? ? ?26-12月-18? ? ?26-4月 -19

    函數next_day(date,char):如果char的值是“星期一”,則返回date指定日期的下一個星期一是哪天。

    函數last_day(date):返回月最后一天是幾號。

    函數month_between(date1,date2):返回兩個日期之間相隔的月份。下例:

    SQL> select months_between('26-3月-19','10-1月-19')from dual;

    MONTHS_BETWEEN('26-3月-19','10-1月-19')

    ---------------------------------------

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.51612903

    函數extract(date from datetime):獲取當前時間的年或月或日,下例:

    SQL> select extract(year from sysdate)from dual;

    EXTRACT(YEARFROMSYSDATE)

    ------------------------

    ? ? ? ? ? ? ? ? ? ? 2019

    sysdate可以表示時間類型,再看一個例子:

    SQL> select extract(hour from timestamp '2019-3-26 13:35:26') from dual;

    EXTRACT(HOURFROMTIMESTAMP'2019-3-2613:35:26')

    ---------------------------------------------

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?13


    查看全部
    0 采集 收起 來源:Oracle日期函數

    2019-06-23

  • 字符函數:

    1、大小寫轉換函數(變為大寫upper('abc')、變為小寫lower('SDD')、首寫字母變為大寫initcap('abs'))

    2、獲取子字符串函數(substr(char,[m[,n]])m若是整數即從頭開始算,m若是負數即從尾開始算 n可以省略 表示? 從m到末尾

    m=0 從字符串的首字母開始截取

    m=負數? 表示 從字符串的尾部開始截取

    3、獲取字符串長度函數(length(" abc"),空格也算一個字符數)

    4、字符串連接函數(concat('ab','cd')? ?'ab'||'cd')

    5、去除字串函數(trim('a' from 'abcd')從字符串中去除一個字符,ltrim('abc','a')從字符串左邊去除指定字符,rtrim('abcaa','a')從字符串右邊去除指定字符,trim(' abc')去除字符串中首位空格)

    6、替換函數(replace('abcde','ab','A')若最后'A'字符省略,就會被刪除)


    查看全部
  • 數值函數:四舍五入round(n,[m])

    【n表示要進行四舍五入的值,m表示保留小數點后幾位或前幾位】

    省略m:0(即取整)

    m>0:小數點后面m位

    m<0:小數點前面m位

    dual 目標表

    1. 取整:

      CEIL(n):取整時取最大值(上限)

      FLOOR(n):取整時取最小值(下限)

    2. 常用計算:

      ABS(n):取絕對值

      MOD(m,n):取余【m代表除數,n代表被除數,m、n中任意一個為null值,結果返回null】

      POWER(m,n):返回m的n次冪

      sqrt(n):開平方

    3. 三角函數:

      正弦 SIN(n)、反正弦 ASIN(n)

      COS(n)、ACOS(n)

      TAN(n)、ATAN(n)

      例:SQL> select ceil(23.45),floor(23.45) from dual;

    、取整函數(ceil(n)取最大整數、floor(n)取最小整數)、常用計算(絕對值abs(n)、取余數mod(m,n)、求平方power(m,n))、求平方根sqrt(n)、三角函數正弦sin(n)、反正弦asin(n)、余弦cos(n)、反余弦acos(n)、正切tan(n)、反正切atan(n))


    查看全部
    0 采集 收起 來源:Oracle數值函數

    2019-06-21

  • 字符函數:

    1、大小寫轉換函數(變為大寫upper('abc')、變為小寫lower('SDD')、首寫字母變為大寫initcap('abs'))

    2、獲取子字符串函數(substr('abced',m,n))m若是整數即從頭開始算,m若是負數即從尾開始算

    3、獲取字符串長度函數(length(" abc"),空格也算一個字符數)

    4、字符串連接函數(concat('ab','cd')? ?'ab'||'cd')

    5、去除字串函數(trim('a' from 'abcd')從字符串中去除一個字符,ltrim('abc','a')從字符串左邊去除指定字符,rtrim('abcaa','a')從字符串右邊去除指定字符,trim(' abc')去除字符串中首位空格)

    6、替換函數(replace('abcde','ab','A')若最后'A'字符省略,就會被刪除)

    查看全部
  • 數值函數:四舍五入(round(n,m))、取整函數(ceil(n)取最大整數、floor(n)取最小整數)、常用計算(絕對值abs(n)、取余數mod(m,n)、求平方power(m,n))、求平方根sqrt(n)、三角函數正弦sin(n)、反正弦asin(n)、余弦cos(n)、反余弦acos(n)、正切tan(n)、反正切atan(n))

    m>0小數點前m位,四舍五入

    m<0小數點后m位,四舍五入

    查看全部
    0 采集 收起 來源:Oracle數值函數

    2019-06-11

  • 函數胡作用:方便數據胡統計、處理查詢結果(身份證年月日)

    數值函數:四舍五入、求和

    字符函數:大小寫轉換

    日期函數:獲取當前時間、查詢時間間隔

    轉換函數:字符、數值、日期之間轉換


    查看全部
  • 課程總結

    數值函數

    四舍五入:round(n[,m])

    取整:floor(n)

    絕對值:abs(n)

    取余數:mod(m,n)

    平方根:sqrt(n)

    三角函數:sin(n)、asin(n)等


    字符函數

    大小寫轉換:upper(char)、lower(char)

    字符串連接:concat(char1,char2)

    獲取子字符串:substr(char,[m[,n]])

    獲取字符串長度:length(char)

    日期函數

    獲取當前時間:

    sysdate 系統時間

    ADD_MONTHS(date,i)加或減掉i個月后日期

    LAST_DAY(date)得到月最后一天

    month——between(date1,date2) 兩個日期間月份差,結果含有小數

    extract(date from datetime) 提取指定日期的某部分,如年、月、日。


    轉換函數

    to_char(date[,fmt[,params]]) 日期類型轉字符類型

    to_char(numbe[,fmt])? 數值轉字符

    to_number(char[,fmt]) 字符轉數值

    查看全部
    0 采集 收起 來源:課程總結

    2019-03-26

  • 轉換函數

    日期轉換成字符的函數:to-char(date[,fmt[,params]])【date--將要轉換的日期,fmt--轉換成的格式,params--日期的語言(此參數通常不寫)】

    日期默認格式:dd-mon-rr

    fmt格式定義:yy【兩位的年】 yyyy【四位的年】 year【表示成英文形式】

    mm【兩位的月份】 month【表示英文的月份】

    dd【兩位的天數】 day【表示英文的日】

    hh24【二十四小時制】 hh12【十二小時制】

    mi【分鐘】 ss【秒】

    例子:

    SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

    TO_CHAR(SYSDATE,'YY

    -------------------

    2019-03-26 15:04:33

    SQL> select to_char(sysdate,'yy-mm-dd hh12:mi:ss') from dual;

    TO_CHAR(SYSDATE,'

    -----------------

    19-03-26 03:05:31

    SQL> select to_char(sysdate,'year-month-day hh12:mi:ss') from dual;

    TO_CHAR(SYSDATE,'YEAR-MONTH-DAYHH12:MI:SS')

    --------------------------------------------------------------------

    twenty nineteen-3月 -星期二 03:07:23

    TO_CHAR(SYSDATE,'YEAR-MM-DAYHH12:MI:SS')

    ----------------------------------------------------------------

    twenty nineteen-03-星期二 03:09:00

    SQL> select to_char(sysdate,'year-mm-dd hh12:mi:ss') from dual;

    TO_CHAR(SYSDATE,'YEAR-MM-DDHH12:MI:SS')

    ---------------------------------------------------------

    twenty nineteen-03-26 03:09:29


    字符轉換為日期的函數:to_date(date[,fmt[,params]])【to_date()按照系統默認格式顯示日期】 下例:

    SQL> select to_date('2019-3-26','yyyy-mm-dd') from dual;

    TO_DATE('2019-

    --------------

    26-3月 -19


    數字轉換為字符的函數:to_char(number[,fmt])

    9:顯示數字并忽視前面的0

    0:顯示數字,位數不足用0補齊

    .或D:顯示小數點

    ,或G:顯示千位符

    $:美元符號

    S:加正負號(前后都可以,但不能同時加在前后)


    SQL> select to_char(12345.678,'$99999.999') from dual;

    TO_CHAR(123

    -----------

    ?$12345.678

    SQL> select to_char(12345.678,'$99,999.999') from dual;

    TO_CHAR(1234

    ------------

    ?$12,345.678

    SQL> select to_char(12345.678,'$99,999,999') from dual;

    TO_CHAR(1234

    ------------

    ? ? ?$12,346

    SQL> select to_char(12345.678,'$s99,999,999') from dual;

    select to_char(12345.678,'$s99,999,999') from dual

    ? ? ? ? ? ? ? ? ? ? ? ? ?*

    第 1 行出現錯誤:

    ORA-01481: 無效的數字格式模型

    SQL> select to_char(12345.678,'s99,999,999') from dual;

    TO_CHAR(123

    -----------

    ? ? +12,346


    字符轉換成數字的函數:to_number(char[,fmt])

    SQL> select to_number('$1000','9999') from dual;

    select to_number('$1000','9999') from dual

    ? ? ? ? ? ? ? ? ?*

    第 1 行出現錯誤:

    ORA-01722: 無效數字

    SQL> select to_number('$1000','$9999') from dual;

    TO_NUMBER('$1000','$9999')

    --------------------------

    ? ? ? ? ? ? ? ? ? ? ? 1000


    查看全部
    0 采集 收起 來源:Oracle轉換函數

    2019-03-26

舉報

0/150
提交
取消
課程須知
小伙伴們,學習本課程前需要熟悉Oracle的SQL語句。關于SQL語句的內容可以查看課程《Oracle數據庫開發必備利器之SQL基礎》,鏈接在此:http://www.xianlaiwan.cn/learn/337
老師告訴你能學到什么?
1、能夠掌握Oracle的常用函數 2、能夠在查詢中熟練使用Oracle函數,以方便數據的查詢統計

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!