【Oracle】函数

2021/7/22 19:09:37

本文主要是介绍【Oracle】函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 1. 函数
    • 1.1. 类型转换函数
      • 1.1.1. to_number
    • 1.2. 查询相关
      • 1.2.1. listagg
    • 1.3. 聚合函数
    • 1.4. PL/SQL
    • 1.5. 字符串函数
      • 1.5.1. rpad()
    • 1.6. 其他函数
      • 1.6.1. NVL函数

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 可以是任意一种数据类型。



这篇关于【Oracle】函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程