首页 > 数据库 >Oracle常用方法

Oracle常用方法

时间:2023-04-10 11:48:09浏览次数:46  
标签:trim 字符 常用 函数 字符串 dual Oracle 方法 select

一、截取字符串

1.substr(String, int1,int2)  //参数1:要截取的字符串,参数2:从第几位字符串开始截取,参数3:保留几位长度的字符串  即,将某个字符串从int1开始截取,保留int2位长度

2.substr(String, int1) //参数1:要截取的字符串,参数2:从第几位字符串开始截取  即,将某个字符串从int1开始截取,一直截取到字符串结束

二、去除指定字符串

1、trim函数

在oracle中,trim()函数的用法有,leading 开头字符,trailing 结尾字符,both 开头和结尾字符,如下:

trim(leading || trailing || both '将要被替换掉的字符" from “将要被替换的字符串")

1.1、trim函数去除指定的开头字符

select trim(leading 'x' from 'xday') as strTemp from dual;

1.2、trim函数去除指定的结尾字符

select trim(trailing 'x' from 'dayx') as strTemp from dual;

1.3、trim函数去除指定的首部和尾部字符

select trim(both 'x' from 'xdayx') as strTemp from dual;

1.4、默认情况下,trim函数会去除首部和尾部,被指定的字符

select trim('x' from 'xdayx') as strTemp from dual;

1.5、如果没有指定被移除的字符,则会默认去除首部和尾部的空格

select trim(' day ') as strTemp from dual;

2、ltrim函数

2.1、不加参数,默认去除最左侧空格

select ltrim('   abcd') from dual;

2.2、加上参数(String1, String2)去除多个字符:表示从String1左侧第一个字符开始与String2的每一个字符进行匹配,如果匹配成功就去掉,直到与String2的每一个字符都匹配不上,则返回剩余字符串

select ltrim('abcacbbadefg','abc') from dual   //结果为defg

3、rtrim函数

3.1、不加参数,默认去除最右侧空格

select rtrim('abcd   ') from dual;

3.2、加上参数(String1, String2)去除多个字符:表示从String1右侧第一个字符开始与String2的每一个字符进行匹配,如果匹配成功就去掉,直到与String2的每一个字符都匹配不上,则返回剩余字符串

select rtrim('abcacbbadefg','defg') from dual   //结果为'abcacbba

4、replace函数

在oracle中,replace()函数用于替换字符串。replace()函数查找指定字符串中指定字符,并利用新字符进行替换。

参数1:要操作的字符串,参数二:指定旧字符串,参数三:替换的新字符串

select replace('abc','a','b') from dual//将字符串abc中的a替换为b,返回结果为bbc

三、转换函数

1.to_date()//将number、char转换为date

2.to_timestamp()

3.to_char()//将DATE或者NUMBER转换为字符串

4.to_number()//将char转换为number

5.cast(expr as type_name)用于将一个内置数据类型或集合类型转变为另一个内置数据类型或集合类型。expr为列名或值,type_name数据类型。

四、模糊查询

1.like

2.regexp_like(str,'a')//查询str中包含a的数据,如果要查询多个条件,可以使用  |  来隔离,如repgexp_like(str,'a|b|c')

五、窗口函数

构成格式:函数名①() over(partition by 分组的列名 order by 排序的列名 rows/range.. 子句)

函数名①一般来说有几种:

一种是聚合函数,像是sum、avg、count这种
一种是排序函数(序列函数),像是rank、dense_rank、row_number这种
一种是不好归类的,像是row_number这种行数范围的

六、行转列

如果分组后,想将某一列的值以行的形式展示,可以用这个方法,前提是要转换成行的字段的值分组后种类不多,如果很多有几十上百的,那得累死,如例子中的a字段,可以有无数个A1或者A2,但是如果是从A1到A100,那就不建议用此方法,用的话得写100个max(case when a = 'A1' ....)。。。这样写不合适

select b,
max(case when a = 'A1' then c else '0' end),
max(case when a = 'A2' then c else '0' end)
from(
select 'A1'a,'1301'b,'100'c from dual
union all
select 'A2'a,'1301'b,'200'c from dual
union all
select 'A1'a,'1302'b,'100'c from dual
union all
select 'A2'a,'1302'b,'200'c from dual
)group by b

标签:trim,字符,常用,函数,字符串,dual,Oracle,方法,select
From: https://www.cnblogs.com/sjzchf/p/17302118.html

相关文章

  • 【触想智能】工控一体机电脑的日常维护方法分享
    工控一体机电脑,也被称为工业控制计算机或者工业一体机、工业平板电脑等。和普通的商业计算机不同,工控一体机电脑除了具备一般计算机的功能外,还需要适应复杂的工业环境,比如宽温宽压、耐高低温、防尘防水、抗震抗电磁干扰等。能够适应复杂工业环境是工控一体机电脑的特点之......
  • oracle导出impdp导入已存在表设置TABLE_EXISTS_ACTION参数
    目录oracle导出impdp导入已存在表设置TABLE_EXISTS_ACTION参数1、TABLE_EXISTS_ACTION参数说明2、使用示例oracle导出impdp导入已存在表设置TABLE_EXISTS_ACTION参数1、TABLE_EXISTS_ACTION参数说明有四个参数:skip:默认操作,跳过已存在的表不做处理。append:在原有的数据上追加......
  • oracle19c支持低版本plsql
    oracle19c支持低版本plsql1、登录服务器${ORALCE_HOME}/network/admin/sqlnet.ora增加cd${ORALCE_HOME}vi./network/admin/sqlnet.orasqlnet.ora:如没有文件,新增SQLNET.ALLOWED_LOGON_VERSION_SERVER=8SQLNET.ALLOWED_LOGON_VERSION_CLIENT=82、重启监听sqlplus/as......
  • JSP内置对象Request的使用方法
    JSPrequest是javax.servlet.http.HttpServletRequest的实例对象,主要用来获取客户端提交的数据。request对象提供了一系列方法,可以获取请求参数信息、表单数据、HTTP头信息、cookie和HTTP请求方法等。Request对象最长见的应用就是通过调用它的getParameter方法获取客......
  • Oracle 11g R2创建数据库时,提示:要求在当前Oracle主目录中配置监听程序 必须运行Netca
    问题描述:    Oracle11gR2创建新的数据库时出现:使用DatabaseControl配置数据库时,要求在当前Oracle主目录中配置监听程序必须运行Netca以配置监听程序,然后才能继续。或者,可以选择继续,但不使用DatabaseControl配置。==================================================......
  • EBS 各模块常用表结构
    EBS各模块常用表EBS库存(INV)模块常用表select*fromorg_organization_definitions库存组织select*frommtl_parameters组织参数select*frommtl_system_items_bwhereinventory_item_id=171andorganization_id=204物料表select*frommtl_secondary_inventori......
  • 数据库常用表说明(微至管家)
    用户相关信息mc_members:用户信息表(查手机号mobile)xcommunity_member:用户表(uid=mc_members.uid)mc_mapping_fans:粉丝表(uid=mc_members.uid)xcommunity_member_room:房号表xcommunity_member_bind:房号绑定表(memberid=xcommunity_member.id,addressid=room.id)手机端:$_W['uniaci......
  • 方法总结|金融时间序列联动相关及风险溢出
     在金融时间序列研究中,市场间的联动相关和风险溢出一直是热点方向。随着研究不断深入,方法也层出不穷,比如从收益率到波动率,从一阶矩到高阶矩,从静态不变到动态时变,从线性相关到非线性相关,从尾部对称到尾部非对称等等...... 1.收益率相关、均值溢出。 主要方法包括:ARIMA、协......
  • 方法总结|风险溢出主要方法CoVaR、MES、SRISK、DY
     近年来,在防范化解系统性金融风险的背景下,市场间的风险溢出及系统性风险是一个研究热点,运用的指标主要有CoVaR、CoES、MES、LRMES、SRISK、DY等。通常情况下,计算方法可以分为静态和动态,线性和非线性,上行和下行,具体概括为以下几类:  1.静态/时变Copula  2.上行/下行Copu......
  • 让Window可以预览查看Svg图标的解决方法
    让Window可以预览查看Svg图标的解决方法下载插件包下载地址:https://github.com/maphew/svg-explorer-extension/releases也可以直接下载安装包https://github.com/tibold/svg-explorer-extension/releases/download/v1.1.0/svg_see_x64.exe解压并安装下载后解压svg-e......