Oracle學習筆記--3、基本函數的使用

    1、LOWER(列名|表達式):把字符串轉成小寫

SQL> SELECT LOWER('SQL:Structural Query Language')
  2  FROM dual;

LOWER('SQL:STRUCTURALQUERYLAN
-----------------------------
sql:structural query language
備註:dual是虛表,爲了滿足Oracle的基本語法,查詢語句必須有SELECT和FROM字句。

    2、UPPER(列名|表達式):把字符轉成大寫

SQL> SELECT UPPER('sql is used exclusively in rdbmses')
  2  FROM dual;

UPPER('SQLISUSEDEXCLUSIVELYINRDBMS
----------------------------------
SQL IS USED EXCLUSIVELY IN RDBMSES
    3、INITCAP(列名|表達式):把每個英文字符的首字母大寫

SQL> SELECT INITCAP('SQL is an ENGLISH LIKE language')
  2  FROM dual;

INITCAP('SQLISANENGLISHLIKELANG
-------------------------------
Sql Is An English Like Language
備註:dual是虛表,爲了滿足Oracle的基本語法,查詢語句必須有SELECT和FROM字句。

    4、CONCAT(列名|表達式,列名|表達式):把頭一個字符串和後一個字符串連接成一個字符串

SQL> SELECT CONCAT('SQL allows you to manipulate the data in DB',
  2     ' without any programming knowledge')
  3  FROM dual;

CONCAT('SQLALLOWSYOUTOMANIPULATETHEDATAINDB','WITHOUTANYPROGRAMMINGKNOWLEDGE'
-----------------------------------------------------------------------------
SQL allows you to manipulate the data in DB without any programming knowledge
    5、SUBSTR(列名|表達式,m,[n]):返回指定的子串。該字串從第m個字符開始,其長度爲n

SQL> SELECT SUBSTR('SQL lets you concentrate on what has to be done',14)
  2  FROM dual;

SUBSTR('SQLLETSYOUCONCENTRATEONWHA
----------------------------------
concentrate on what has to be done

SQL> SELECT SUBSTR('SQL lets you concentrate on what has to be done',14,5)
  2  FROM dual;

SUBST
-----
conce
    6、LENGTH(列名|表達式):該函數返回列中或者表達式中列的長度。

SQL> SELECT LENGTH('SQL done not let oyou concentrate on how it will be achived')
  2  FROM dual;

LENGTH('SQLDONENOTLETOYOUCONCENTRATEONHOWITWILLBEACHIVED')
----------------------------------------------------------
                                                        59
    7、REPLACE(正文表達式,要搜尋的字符串,替換字符串):在“正文表達式”中尋找“要搜尋的字符串”,如果找到就用”替換字符串“替換。

SQL> SELECT REPLACE('SQL*PLUS supports loops or if statements','supports',
  2     'does not support')
  3  FROM dual;

REPLACE('SQL*PLUSSUPPORTSLOOPSORIFSTATEMENTS','S
------------------------------------------------
SQL*PLUS does not support loops or if statements
    8、ROUND(列名|表達式,n):將列名和表達式所表示的數值四捨五入到小數點後的n位。

      TRUNC(列名|表達式,n):將列名和表達式所表示的數值截取到小數點後n位

      MOD(m,n):將m處以n並取餘數

SQL> SELECT ROUND(168.888,1),TRUNC(168.888,1)
  2  FROM dual;

ROUND(168.888,1) TRUNC(168.888,1)
---------------- ----------------
           168.9            168.8
SQL> SELECT ROUND(168.333,2),TRUNC(168.333,2)
  2  from dual;

ROUND(168.333,2) TRUNC(168.333,2)
---------------- ----------------
          168.33           168.33
SQL> SELECT ROUND(168.888,0),TRUNC(168.888,0)
  2  FROM dual;

ROUND(168.888,0) TRUNC(168.888,0)
---------------- ----------------
             169              168

SQL> SELECT MOD(1900,400)
  2  FROM dual;

MOD(1900,400)
-------------
          300
    9、ADD_MONTHS(日期,n):把n個月加到日期上

SQL> SELECT ADD_MONTHS('10-MAR-16',6)
  2  FROM dual;

ADD_MONTHS('
------------
10-SEP-16
    10、NEXT_DAY(日期,字符串):返回由下一個字符串(星期幾)指定的日期

SQL> SELECT NEXT_DAY('10-MAR-16','MONDAY')
  2  FROM dual;

NEXT_DAY('10
------------
14-MAR-16
    11、LAST_DAY(日期):返回該日期所在月的最後一天

SQL> SELECT LAST_DAY('10-MAR-16')
  2  FROM dual;

LAST_DAY('10
------------
31-MAR-16











  

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