Oracle 数据库中经典函数的用法举例(一)

Oracle数据库提供了大量的内置函数,可以用于完成各种操作,如字符串操作,数学计算,日期时间处理,条件判断,序列生成,聚合统计等。以下是一些常用的Oracle数据库函数:

一、oracle 使用函数常用的两种计算求和写法

第一种,使用decode函数

sql 复制代码
select sum(decode(t.del_flag,'0',1,'1',0)) flag from t_orders t;

第二种,使用 case when then

sql 复制代码
select sum( case t.del_flag
       when '0' then 1
         when '1' then 0 end) flag 
           from t_orders t; 

二、订单到期日,从1月1号开始至上月月底

sql 复制代码
select * from t_orders t
where T.enddate BETWEEN TRUNC(SYSDATE, 'YYYY') 
           AND LAST_DAY(ADD_MONTHS(TRUNC(SYSDATE), -1))

三、计算日期函数

sql 复制代码
LAST_DAY(ADD_MONTHS(TRUNC(SYSDATE), -1));

例如:

今年的最后一天时间

sql 复制代码
select TRUNC(ADD_MONTHS(sysdate, 12),'YYYY') - 1 from dual;

匹配的时间是当月的1号时间

sql 复制代码
select trunc(t.enddate, 'MM') from t_orders t;

四、abs取绝对值

sql 复制代码
and abs(t1.enddate - t2.enddate) < 60)

五、nvl判断空

sql 复制代码
NVL(V_COUNT, '0')  V_COUNT;    

六、FLOOR函数

在Oracle中,FLOOR函数,它用于向下取整。具体地说,FLOOR函数会返回小于或等于指定数字的最大整数。

例如:

sql 复制代码
select FLOOR(25*2/3) - 1 from dual; 

计算结果=15

七、SUBSTR 字符串截取

sql 复制代码
AND SUBSTR(t.flag, 3, 1) IN ('0', '1')  

下标从1开始,第3个位置开始截取1位字符

八、TRIM 去空格

TRIM(string); 去除字符串两端的空白字符

九、INSTR 字符查找函数

sql 复制代码
INSTR(t.ERROR_MESSAGE,'确认码标记',1)

字符查找函数,其功能是查找一个字符串在另一个字符串中首次出现的位置。

INSTR 函数的基本语法如下:

INSTR(str, sub[, pos[, nth]])

  • str:表示要在其中进行搜索的源字符串。
  • sub:表示要搜索的子串。
  • pos:可选参数,表示搜索的起始位置,默认为 1,即从字符串的开头开始搜索。
  • nth:可选参数,表示要查找子串的第几次出现,默认为 1,即查找子串的第一次出现。

当 INSTR 函数执行搜索时,它会返回子串 sub 在源字符串 str 中第 nth 次出现的位置索引。如果子串未找到,INSTR函数将返回 0。

相关推荐
不爱学习的YY酱11 分钟前
【操作系统不挂科】<内存管理-文件系统实现(18)>选择题(带答案与解析)
java·大数据·数据库
kris000913 分钟前
Python知识分享第二十九天-PyMySQL
开发语言·数据库·python
LuiChun1 小时前
Django 中的 reverse 【反向/逆转/扭转/逆向】使用详解以及使用案例
数据库·django·sqlite
标贝科技2 小时前
标贝科技受邀出席2024ADD数据应用场景大会 共议数据要素发展新契机
大数据·数据库·人工智能·科技·语言模型·数据挖掘
啥都想学的又啥都不会的研究生2 小时前
高性能MySQL-查询性能优化
数据库·笔记·学习·mysql·面试·性能优化
TazmiDev3 小时前
[极客大挑战 2019]BabySQL 1
服务器·数据库·安全·web安全·网络安全·密码学·安全威胁分析
西格玛懒大王3 小时前
[python] 基于matplotlib实现雷达图的绘制
数据库·python·pycharm·pip
镜舟科技3 小时前
以客户成功为核心,镜舟科技驱动数据库开源商业化创新
数据库·数据分析·开源
莫叫石榴姐3 小时前
SQL进阶技巧:如何计算算法题分发糖果问题?
大数据·数据结构·数据库·sql·算法·数据挖掘·数据分析
weisian1514 小时前
Redis篇--常见问题篇2--缓存雪崩(过期时间分散,缓存预热,多级缓存)
数据库·redis·缓存