trister

一、Oracle命令类别

  1. 数据操纵语言(DML):select;insert;delete;update;merge
  2. 数据定义语言(DDL):create;alter;drop;truncate
  3. 事物控制语言(TCL):commit;rollback;savepoint;
  4. 数据控制语言(DCL):grant;revoke

二、SQL的基本函数

2.1 单行函数与多行函数的区别:

  • 单行函数指一行数据输入,返回一个值的函数。在查询一个表时,对选择的每一行数据都返回一个结果。

    SQL>select empno,lower(ename) from emp;

  • 多行函数指多行数据输入,返回一个值的函数。对表的群组进行操作,每组返回一个结果。

    SQL>select sum(sal) from emp;

2.2 单行函数的几种类型

2.2.1 字符函数
  • lower(\'SQL Course\')---->sql course 返回小写

SQL>select lower(\'SQL Course\') from dual;

LOWER(\'SQL
----------
sql course	
  • upper(\'sql course\')---->SQL COURSE 返回大写

SQL>select upper(\'sql course\') from dual;

UPPER(\'SQL
----------
SQL COURSE	
  • initcap(\'SQL course\')---->Sql Course 返回首字母大写

SQL>select initcap(\'SQL course\') from dual;

 INITCAP(\'S
 ----------
 Sql Course
  • concat(\'good\',\'string\')----> good string 拼接字符串(只能拼接两个字符串)

SQL>select concat(\'good\',\'string\') from dual;

CONCAT(\'GO
----------
goodstring
  • substr(\'String\',1,3)---->截取字符串,从第1位开始截取3位

SQL>select substr(\'String\',1,3) from dual;

SUB
---
Str
  • instr(\'t#i#m#r#a#n#\',\'#\',3)---->从第3位起始找#字符在哪个绝对位置

SQL>select instr(\'t#i#m#r#a#n#\',\'#\',3) from dual;

INSTR(\'T#I#M#R#A#N#\',\'#\',3)
--------------------------
                      4
  • length(\'String\')---->显示某一字符串的长度

SQL>select length(\'String\') from dual;

LENGTH(\'STRING\')
---------------
           6
  • lpad(\'first\',10,\'$\')---->左填充/整个字符串是十位长度,不足用$first左边补/

SQL>select lpad(\'first\',10,\'$\') from dual;

LPAD(\'FIRS
----------
$$$$$first
  • rpad(\'first\',10,\'$\')---->右填充,跟上面相反

SQL>select rpad(\'first\',10,\'$\') from dual;

RPAD(\'FIRS
----------
first$$$$$
  • replace(\'JACK and JUE\',\'J\',\'BL\')---->把字符串中的JBL替换掉

SQL>select replace(\'JACK and JUE\',\'J\',\'BL\') from dual;

REPLACE(\'JACKA
--------------
BLACK and BLUE
  • trim(\'m\' from \'mmtrimranm\')---->去除两边的m字符

SQL>select trim(\'m\' from \'mmtrimranm\') from dual;

TRIM(\'M
-------
trimran
2.2.2 数值函数
  • round 对指定的值做四舍五入,round(p,s),小数点处s为0,s为正数表示小数点后要保留的位数,s为负数表示小数点前要保留的位数,但意义不大。

    • round 按指定精度对十进制数四舍五入,

SQL>select round(45.923,1) from dual;

ROUND(45.923,1)
---------------
           45.9

SQL>select round(45.923,0) from dual;

ROUND(45.923,0)
---------------
             46

SQL>select round(45.923,-1) from dual;

ROUND(45.923,-1)
----------------
          	  50
  • trunc 对指定的值进行取整(截取)trunc(p,s) 小数点处s为0,s为正数表示小数点后要截取的位数,s为负数表示小数点前要截取的位数
    • trunc 按指定精度截断十进制数

SQL>select trunc(45.923,1) from dual;

TRUNC(45.923,1)
---------------
       		45.9

SQL>select trunc(45.923,0) from dual;

TRUNC(45.923,0)
---------------
         	 45

SQL>select trunc(45.923,-1) from dual;

TRUNC(45.923,-1)
----------------
              40
  • mod 返回除法后的余数

SQL>select mod(100,12) from dual;

MOD(100,12)
-----------
      	  4

分类:

技术点:

相关文章: