【Oracle语句(三)-- 字符函数】教程文章相关的互联网学习教程文章

Oracle用法、函数备忘记录【图】

select LISTAGG(ename,‘-‘)withingroup(orderby deptno desc)from emp;可以看到功能类似wm_concat,可以自定义连接符,区别: LISTAGG? : 11g2才提供的函数,不支持distinct,拼接长度不能大于4000,函数返回为varchar2类型,最大长度为4000. 和wm_concat相比,listagg可以执行排序。例如select deptno, listagg(ename,‘;‘)withingroup(orderby ename) enames from emp groupby deptno;with table as ?SQL Code? 12345678910111...

Oracle常用函数

问题:将所有员工的名字按小写的方式显示 SQL> select lower(ename) from emp; 问题:将所有员工的名字按大写的方式显示。 SQL> select upper(ename) from emp; 问题:显示正好为5个字符的员工的姓名。 SQL> select * from emp where length(ename)=5; 问题:显示所有员工姓名的前三个字符。 SQL> select substr(ename, 1, 3) from emp; 问题:以首字母大写,后面小写的方式显示所有员工的姓名。 SQL> select upper(substr(ename,1,...

oracle系统函数

1.Single-Row Functions NVLNVL2NULLIFCOALESCECASEDECODE 2.Character functions LOWER(column|expression) --小写UPPER(column|expression) --大写INITCAP(column|expression) --首字母大写CONCAT(column1|expression1,column2|expression2) --字符串连接,相当于||SUBSTR(column|expression,m[,n]) --取子串,m:第几位开始 n:取多少位LENGTH(column|expression) --返回字符串长度INSTR(column|expression,’string’, [,m...

Oracle函数之LISTAGG【代码】

select listagg(ename,‘,‘)within group(order by sal)name from emp;NAME ---------------------------------------------------------------------------------------------------- SMITH,JAMES,ADAMS,MARTIN,WARD,MILLER,TURNER,ALLEN,CLARK,BLAKE,JONES,FORD,SCOTT,KING分组函数:SQL> select deptno,listagg(ename,‘,‘)within group(order by sal)name from emp group by deptno;DEPTNO NAME ---------- ----------------...

oracle日期函数【代码】【图】

一、常用日期数据格式 1. 获取年的最后一位, 两位, 三位, 四位 select to_char(sysdate,‘Y‘) from dual; -- 获取年的最后一位select to_char(sysdate,‘YY‘) from dual; -- 获取年的最后两位select to_char(sysdate,‘YYY‘) from dual; -- 获取年的最后三位select to_char(sysdate,‘YYYY‘) from dual; -- 获取年的最后四位 2. 获取当前季度 select to_char(sysdate,‘Q‘) from dual; -- 1 ~ 3月为第一季度,...

oracle正则表达式函数和正则表达式简介

Oracle使用正则表达式4个函数: 1。regexp_like(expr_col,‘正则表达式‘) 2。regexp_substr(expr_col,‘ 3。regexp_instr 4。regexp_replace POSIX 正则表达式由标准的元字符(metacharacters)所构成: ‘^‘ 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。 ‘$‘ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n‘ 或 ‘\r‘。 ‘.‘ 匹...

Oracle分析函数【图】

聚合函数可以在分析模式或非分析模式下来进行运算。非分析模式下的聚合函数将结果集削减为较少的数据行。然而,在分析模式下,聚合函数并不减少输出结果行数。并且,聚合函数能够在一行中同时取得聚合和非聚合的列。分析模式的聚合函数提供了不需要任何自连接就可以聚合不同层级数据的能力。1. sum可以把sum当做聚集函数来用,也可以当做分析函数来用与前一个sql不同的是窗口的变化,这个例子中取的是开始行到当前行,即对当前行之...

oracle 存储过程,存储函数,包,【图】

AS V_TOTAL NUMBER(10); BEGIN SELECT COUNT(*) INTO V_TOTAL FROM EMP; DBMS_OUTPUT.PUT_LINE(‘雇员总人数为:‘||V_TOTAL); END; 步骤3:按“执行”按钮进行编译。 如果存在错误,就会显示: 警告: 创建的过程带有编译错误。 如果存在错误,对脚本进行修改,直到没有错误产生。 如果编译结果正确,将显示: Sql代码 过程已创建。 步骤4:调用存储过程,在输入区中输入以下语句并执行: Sql代码 EXECUTE EMP_C...

oracle decode函数使用方法【图】

工具/原料 软件环境:   1、Windows NT4.0+ORACLE 8.0.4   2、ORACLE安装路径为:C:/ORANT 百度经验:jingyan.baidu.com 方法/步骤 1 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途 呢? 先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的将加20%;工资在8000元以上的加15%,通...

Oracle数据类型,函数与存储过程

版权声明:本文为博主原创文章,未经博主允许不得转载。Oracle数据类型,函数与存储过程标签:oracle 数据类型 函数 存储过程 本文系统来源:http://blog.csdn.net/u013516966/article/details/46986537

oracle分组函数

分组函数的使用:常用的分组函数:Avg(求平均值),sum(求总和),min(求最小值),max(求最大值),count(求总个数),wm_concat(行转列)例:select count( distinct deptno) from emp ;行转列: select deptno 部门号,wm_concat(ename) 部门中员工的名字 from emp group by deptno;----------------------------------------------------分组函数与空值:(分组函数会自动忽略空值)1. 统计员工的平均工资Select sum(sal)/co...

在Oracle数据库中实现SqlServer数据库中的NewID()函数功能【代码】

OR REPLACE FUNCTION NEWID RETURN VARCHAR2 ISGUID VARCHAR2(32); BEGINGUID:=SYS_GUID();RETURN ‘{‘||SUBSTR(GUID,1,8)||‘-‘||SUBSTR(GUID,9,4)||‘-‘||SUBSTR(GUID,13,4)||‘-‘||SUBSTR(GUID,17,4)||‘-‘||SUBSTR(GUID,21,12)||‘}‘; END NEWID;然后就可以像在SqlServer中一样用了:SELECT NEWID() AS ID FROM DUAL --返回结果是类似这样的值:{1B869DEE-BF1A-0D8C-E050-BD0A9E806700} 在Oracle数据库中实现SqlServer数...

Oracle笔记(三)单行函数

例子:写一个SQL,将‘I love Sql‘转换成全大写,全小写和首字母大写的形式。 SELECT UPPER (‘I love Sql‘),LOWER(‘I love Sql‘),INITCAP(‘I love Sql‘) FROM dual; -Oracle之中有一点比较麻烦,即使要验证字符串,也必须编写完整的SQL语句,所以在Oracle数据库之中为了用户查询方便,所以专门提供了一个“dual”的虚拟表 -dual是sys用户下的一张表,dual表中的数据没有任何意义,它的作用是补全SQL语句 -作用 在不知道大小...

Oracle 递归函数与拼接【代码】

SELECT SUBSTR(SYS_CONNECT_BY_PATH(tb.name,‘->‘),3) name 2 FROM table tb 3 START WITH nvl(tb.parentid,0)=0 4 CONNECT BY PRIOR ID=mt.parentid 5 ;在Oracle中,SYS_CONNECT_BY_PATH函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示。sys_connect_by_path(字段名, 2个字段之间的连接符号),注意这里的连接符号不要使用逗号,oracle会报错, 如...

oracle中行转列函数【代码】【图】

(select listagg(pp.product_name,‘,‘) within group(order by pp.product_name) from edu_group_product gpp,--组合包和产品关联表 edu_product pp--产品表 where gpp.group_id = gp.group_id and gpp.product_id = pp.product_id ) products from edu_group gp--组合包表 where gp.group_id = 1000;  查询时间: 该函数结构:LISTAGG(字段名,分隔符) WITHIN GROUP( ORDER BY 字段名)三、说明1.想使用该函数,在本机的oracle...