ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【Oracle】函数

2021-07-22 15:33:04  阅读:321  来源: 互联网

标签:函数 number tech SQL Oracle rpad PL


目录

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

标签:函数,number,tech,SQL,Oracle,rpad,PL
来源: https://blog.csdn.net/baidu_34170531/article/details/118999981

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有