【Oracle】函数

目录

1. 函数

1.1. 类型转换函数

1.1.1. to_number

  1. 作用

    1. 将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。
    2. 将char或varchar2类型的string转换为一个number类型的数值;
    To_number(varchar2 or char,’format model’);
    
    SELECT TO_NUMBER(TO_CHAR(TO_DATE('2018-11-02','YYYY-MM-DD'),'MM'),'99') FROM DUAL
        --结果: 11
    
  2. 转换格式

    格式值 含义
    9 代表一个数字
    0 强迫0显示
    $ 显示美元符号
    L 强制显示一个当地的货币符号
    . 显示一个小数点
    , 显示一个千位分隔符号
  3. 应用

    
    如果数字在格式范围内的话,就是正确的,否则就是错误的;如:
    
    select to_number('$12345.678', '$999999.99') from dual;
    select to_number('$12345.678', '$999999.999') from dual;  
    (3)可以用来实现进制转换;16进制转换为10进制:
    
    select to_number('19f','xxx') from dual;
    select to_number('f','xx') from dual;  
    

1.2. 查询相关

1.2.1. listagg

SELECT
	T .DEPTNO,
	listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) names
FROM
	SCOTT.EMP T
WHERE
	T .DEPTNO = '20'
GROUP BY
	T .DEPTNO

参考:

  1. oracle的 listagg() WITHIN GROUP () 行转列函数的使用

1.3. 聚合函数

1.4. PL/SQL

PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。MySQL 不支持 PL/SQL ,但支持Navicat Premium。


1.5. 字符串函数

1.5.1. rpad()

rpad函数从右边对字符串使用指定的字符进行填充

rpad(string,padded_length,[pad_string])   
string 表示:被填充的字符串   
padded_length 表示:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,rpad函数将会把字符串截取成从左到右的n个字符;   
pad_string 是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。   
例如:   
rpad('tech', 7); 将返回'tech '   
rpad('tech', 2); 将返回'te'   
rpad('tech', 8, '0'); 将返回'tech0000'   
rpad('tech on the net', 15, 'z'); 将返回 'tech on the net'   
rpad('tech on the net', 16, 'z'); 将返回 'tech on the netz'


1.6. 其他函数

1.6.1. NVL函数

  1. 语法
--语法
  NVL(eExpression1, eExpression2)

--功能
如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。
如果 eExpression1 的计算结果 not null 值,则返回 eExpression1。
如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。
eExpression1 和 eExpression2 可以是任意一种数据类型。

上一篇:SQL注入的那些面试题总结


下一篇:[Unity Mirror] Basic Authenticator(基本身份验证器)