oracle 内置函数

oracle 内置函数

大家好,又见面了,我是全栈君。

  oracle内置函数分为单行函数和聚合函数两大类

1、to_date

将字符转换为日期

select to_date(‘2008-08-08′,’yyyy-mm-dd’) from dual; –2008/8/8

2.add_months

增加月份

select add_months(sysdate,2) from dual; –当前时间向后推2个月,精确到秒

select add_months(sysdate,-2) from dual;–当前时间向前推2个月,精确到秒

3.trunc

按照指定的精度截取一个数

/***********************日期***************************/
1.select trunc(sysdate) from dual –2017-02-07 今天的日期为2017-02-07
2.select trunc(sysdate, ‘mm’) from dual –2017-02-01 返回当月第一天.
3.select trunc(sysdate,’yy’) from dual –2017-01-01 返回当年第一天
4.select trunc(sysdate,’dd’) from dual –2017-02-07 返回当前年月日
5.select trunc(sysdate,’yyyy’) from dual –2017-01-01 返回当年第一天
6.select trunc(sysdate,’d’) from dual –2017-02-05 (星期天)返回当前星期的第一天
7.select trunc(sysdate, ‘hh’) from dual –2017-02-05 14:00:00 当前时间为14:49
8.select trunc(sysdate, ‘mi’) from dual –2017-02-05 14:49:00 TRUNC()函数没有秒的精确

/***********************数字***************************/

9.select trunc(123.458) from dual –123
10.select trunc(123.458,0) from dual –123
11.select trunc(123.458,1) from dual –123.4
12.select trunc(123.458,-1) from dual –120
13.select trunc(123.458,-4) from dual –0
14.select trunc(123.458,4) from dual –123.458
15.select trunc(123) from dual –123
16.select trunc(123,1) from dual –123
17.select trunc(123,-1) from dual –120

4.last_day

返回指定日期当月的最后一天

select last_day(to_date(‘2008-08-08′,’yyyy-mm-dd’)) from dual;–2008/8/31

5.nvl(a1,a2)

如果第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

select nvl(null,2) from dual;–返回2

select nv(0,2) from dual;–返回0

select nvl(1,2) from dual;返回1

6.NVL2(E1, E2, E3)

如果E1为NULL,则函数返回E3,若E1不为null,则返回E2

select nvl2 (null,2,3)from dual;–返回3

select nvl2 (1,2,3)from dual;–返回2

7.decode

decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)

该函数的含义如下:
IF 条件=值1 THEN
    RETURN(翻译值1)
ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ……
ELSIF 条件=值n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF

decode(字段或字段的运算,值1,值2,值3)

       这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多

select decode(1,2,3,4) from dual;–返回4

select decode(2,2,3,4) from dual;–返回3

8.concat

字符连接

select concat(‘adc’,’cba’)from dual;–返回adccba

9.instr

INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号)

返回找到的位置,如果找不到则返回0. 默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。若起始位置为0,返回值为0。

select instr(‘chineseisgoodithink’,’i’,2,3)from dual;–返回14

10.lpad

lpad函数从左边对字符串使用指定的字符进行填充。从其字面意思也可以理解,l是left的简写,pad是填充的意思。

lpad( string, padded_length, [ pad_string ] )

string

  准备被填充的字符串;

  padded_length

  填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

  pad_string

  填充字符串,是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。

select lpad(‘women’,9,’ni’)from dual;–niniwomen

select lpad(‘women’,2)from dual;–wo

10.ltrim

去掉字符两边的空格

select ltrim(‘108224323’, ‘108’)from dual;–224323

select ltrim(‘10810081224323’, ‘108’)from dual;–2234323

select ltrim(‘10810081210824323’, ‘108’)from dual;–210824323

ltrim(x,y) 函数是按照y中的字符一个一个截掉x中的字符,并且是从左边开始执行的,只要遇到y中有的字符, x中的字符都会被截掉, 直到在x的字符中遇到y中没有的字符为止函数命令才结束 .

11.replace

replace(char,search_string,replacement_string)

char : 等待替换的字符串
search_string : 搜索需要替换的字符串
replacement_string : 替换字符串

select replace(‘nihenlihai’,’ni’,’wo’) from dual;–wohenlihai

12.substr

substr(字符串,截取开始位置,截取长度) //返回截取的字

select substr(‘ hong kong ‘,1,4)from dual;–hong

13.translate

TRANSLATE(string,from_str,to_str)

返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。

select translate(‘ hong kong ‘,’on’,’un’)from dual;– hung kung

如果 from_str 比 to_str 长,那么在 from_str 中而不在 to_str 中的额外字符将从 string 中被删除,因为它们没有相应的替换字符。

select translate(‘ hong kong ‘,’ong’,’un’)from dual;– hun kun

如果TRANSLATE 中的任何参数为NULL,那么结果也是 NULL。

select translate(‘ hong kong ‘,null,’un’)from dual;–null

 

转载于:https://www.cnblogs.com/dopaer/p/6375110.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108672.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月24日 上午7:00
下一篇 2022年2月24日 上午7:00


相关推荐

  • 可见光通信 调制解调技术 家庭机器人 可见光通信应用 原理及硬件方案

    可见光通信 调制解调技术 家庭机器人 可见光通信应用 原理及硬件方案可见光通信原理及硬件方案可见光通信基本原理在正常照明前提下 将信息调制到 LED 灯发出的可见光中 接收端利用光电检测器 PD 将可见光并转换为电信号 并从中解调出相应的调制信息 基于可见光通信 太速硬件以高速 AD FPGADA 提供完美的解决方案 室内 LED 可见光高速数字通信系统的硬件框图如图所示 左侧实线框标出的为数字信号部分 主要包括 PC 数据源 数据接口 基

    2026年2月6日
    3
  • 怎么彻底卸载mysql8.0_彻底卸载MySQL8.0

    怎么彻底卸载mysql8.0_彻底卸载MySQL8.0彻底卸载MySQL8.0(WIN10)环境需求win10MySQL8.0彻底卸载1.停止MySQL服务启动任务管理器—>选择服务—->找到MySQL—->右键停止如果有多个MySQL服务,也全部都要停掉2.卸载MySQL相关所有组件打开看控制面板—->卸载程序—->卸载与MySQL相关的所有组件3.删除MySQL安装目录下的MySQL文件夹如果在其…

    2022年6月17日
    83
  • 安装Aras Innovator

    安装Aras Innovator学习任何软件 首先要会安装它 ArasInnovato 运行在 windows 环境下 安装不复杂 首先 要知道运行 ArasInnovato 需要以下几个组件 1 WEB 服务 IIS 2 数据库服务 MS SQL 3 ArasInnovato 服务步骤 1 申请 license 在要安装 ArasInnovato 的电脑上运行 CMD 在命令行里输入 IPCONFIG ALL 找到电脑的 MAC 地址 登录 http www aras com support LicenseKeySe

    2026年3月16日
    2
  • 离线包方案

    离线包方案网易 资源离线 JsBridge 通信 接口预请求 网易新闻客户端 H5 秒开优化 H5 优势 跨平台 实时更新 便于传播等 劣势 功能 硬件访问能力 离线功能 性能 体验等一 资源离线 静态资源加载耗时 资源离线到本地 能很好解决 web 页面把静态资源生成 zip 包 客户端在合适的时机拉去 zip 包并解压到本地 持久化存储 用户访问的时候拦截 WebView 发出去的页面请求 直接返回对应的本地文件 前端 生成 zip 包 gt 更新

    2026年3月18日
    2
  • jmeter的聚合报告参数分析

    jmeter的聚合报告参数分析AggregateRep 是 JMeter 常用的一个 Listener 中文被翻译为 聚合报告 在 AggregateRep 中 会显示一行数据 共有 10 个字段 含义分别如下 Label 每个 JMeter 的 element 例如 HTTPRequest 都有一个 Name 属性 这里显示的就是 Name 属性的值 Samples 表示你这次测试中一共发出了多少个请求 如果模拟

    2026年3月16日
    2
  • python爬虫入门,10分钟就够了,这可能是我见过最简单的基础教学

    python爬虫入门,10分钟就够了,这可能是我见过最简单的基础教学一 基础入门 1 1 什么是爬虫爬虫 spider 又网络爬虫 是指向网站 网络发起请求 获取资源后分析并提取有用数据的程序 从技术层面来说就是通过程序模拟浏览器请求站点的行为 把站点返回的 HTML 代码 JSON 数据 二进制数据 图片 视频 爬到本地 进而提取自己需要的数据 存放起来使用 想要学习 Python 又缺少系统化学习方案的朋友可以关注并私信 01 免费领取系统化的 Python 学习资料 愿大家都能在编程这条路 越走越远 1 2 爬虫基本流程用户获取网络数据的方式 方式 1 浏览器提交请求

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号