目录
作用
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
转换格式
格式值 | 含义 |
---|---|
9 | 代表一个数字 |
0 | 强迫0显示 |
$ | 显示美元符号 |
L | 强制显示一个当地的货币符号 |
. | 显示一个小数点 |
, | 显示一个千位分隔符号 |
应用
如果数字在格式范围内的话,就是正确的,否则就是错误的;如: 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;
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
参考:
PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。MySQL 不支持 PL/SQL ,但支持Navicat Premium。
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'
--语法 NVL(eExpression1, eExpression2) --功能 如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。 如果 eExpression1 的计算结果 not null 值,则返回 eExpression1。 如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。 eExpression1 和 eExpression2 可以是任意一种数据类型。