IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle数据库较为常用函数 -> 正文阅读

[大数据]Oracle数据库较为常用函数

oracle的基本函数使用 、字段连接wmsys.wm_concat(),字段的字符串数量获取

一、wmsys.wm_concat()

注意:11gr2和12C上已经摒弃了wm_concat函数,所以要用连接函数,建议使用之前介绍的两种.如果之前老项目使用了这个函数,需要重建该函数或者在当前运行oracle版本中没有这个函数请看这 “WM_CONCAT”: 标识符无效

select  str, id  from dual  group by id 

————————————————
原文链接:链接: Oracle各种连接函数和列转行总结

二、字段的字符串数量获取,长度获取

1、查询字符串中字符B出现的次数:

SELECT LENGTH('ABBCDE')-LENGTH(REPLACE('ABBCDE','B','')) FROM DUAL;

2、或:

SELECT LENGTH(TRANSLATE('ABBCDE','B'||'ABBCDE','B')) FROM DUAL;

3、或使用正则表达式:

3.1 字符数量统计REGEXP_COUNT:

select regexp_count('ABBCDE', 'B') from dual

————————————————
链接: ORACLE 查询某字符串中某字符出现的次数

3.1 字符串特点条件截取regexp_substr:

select regexp_substr(‘1 2 3’,’[^ ]+’,1,level,‘i’) from dual

connect by level <= length(‘1 2 3’) -length(regexp_replace(‘1 2 3’,’ ‘,’’))+1;
这种方法的核心就是regexp_substr函数,通过正则来拆分字符串,函数用法为:

regexp_substr(str,进行匹配的正则表达式,position,标志第几个匹配组,modifier)。

该函数的一个缺点就是只能每次取一个字符串出来,这个就比较头痛了,因为现在我要取分割后所有的字符串,所以现在就要用到connect by命令,来限制取几个匹配组,当然我们是要全部的,所以就通过length来实时确定所取得匹配组数量。
————————————————
链接regexp_substr字符串条件截取

4、字符串的长度获取,获取对应的数量

create or replace function fn_substrnum(colname in varchar2,
                                     old_str in varchar2) 
                                     return varchar2 is
  subnum number(10);
  /**
  查找表中指定字段字符串的子字符串个数
  */
begin
  return nvl(length(colname),0)-nvl(length(replace(colname,old_str,'')),0); 
end fn_substrnum;

————————————————
链接: 字符串的长度获取,获取对应的数量

5.数据库数据转换

title() 用法:首字母大写 title(xxxx)

lower() 用法:所有字母小写 lower(xxxx)

upper() 用法:所有字母大写 upper(xxxx)

to_char() 用法: 转化成字符串类型 to_char(xxxx)

to_data() 用法: 装换成时间类型

select to_date('2021/10/22 14:22:22','YYYY/mm/dd hh24:mi:ss') from dual

to_number() 用法: 装换成数字类型 to_number(‘1’)

6.数据库sql的不为空转换nvl()

nvl()用法 : nvl(xxx,0) 当xxx为空时,默认为零

select nvl(null,0) from dual;
select nvl("abc","a") from dual;

7.数据库sql的条件筛选 case when Then end

select  case when  1>0 then "a"  when 1<2 then "b" end;  from dual;
select  case when  1>0 then "a" else "b"  when 1<2 then "b" end;  from dual;
CASE WHEN score IS NULL THEN '缺席考试' ELSE '正常' END;

————————————————
链接: 数据库sql的条件筛选

8.数据库sql的instr(str,b) 是否包含

select 'abc' from dual where instr('abc','b')>0;
select 'abc' from dual where instr('abc','d')>0;

9.数据库sql的isubstr(‘abcdefg’,1,5)截取字符

select substr('abcdefg',1,5) from dual;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:16:11  更:2021-12-26 22:18:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:47:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码