oracle 函数笔记

substr()与substrb()

区别在于对汉字的截取,一个汉字可能会占2个或3个字符,substr()截取的长度是指字符串的长度,substrb()截取的长度是指字符串所占字符的长度。

例子如下:

select substr(‘哈哈哈哈哈哈‘,1,6) from dual;

哈哈哈哈哈哈

select substrb(‘哈哈哈哈哈‘,1,6) from dual; --使用的库一个汉字是占3个字符,UTF-16

哈哈

select substr(‘[email protected]#$%^&*()‘,1,16) from dual;

[email protected]#$%^&*()

select substrb(‘[email protected]#$%^&*()‘,1,16) from dual;

[email protected]#$%^&*()

decode()

格式为decode(expr,v_1,value_1,v_2,value_2,...,v_n,value_n,default),如果expr的值为v_1,则返回value_1;值为v_2,则返回value_2;如果在列表中没有与expr匹配上的值,则返回default。在这里,null值与null值视为等价。

select decode(mod(10,3),1,‘余1‘,2,‘余2‘,‘整除‘) res from dual; --余1

select decode(mod(11,3),1,‘余1‘,2,‘余2‘,‘整除‘) res from dual; --余2

select decode(mod(12,3),1,‘余1‘,2,‘余2‘,‘整除‘) res from dual; --整除

时间: 2024-10-12 16:07:40

oracle 函数笔记的相关文章

Oracle单行函数笔记

Oracle中单行函数的分类:1.字符函数substr():字符串截取select substr('我爱你,你知道么?',0,4) from dual执行结果:我爱你,length函数:字符串长度select length('我爱你,你知道么?') from dual执行结果:9Replace()函数:替换指定字符select replace('我爱你,你知道么?','你','的是他') from dual执行结果:我爱的是他,的是他知道么?upper函数:转字母大写select upper('

Oracle 学习笔记 18 -- 存储函数和存储过程(PL/SQL子程序)

PL/SQL子程序 包括函数和过程.这里的函数指的是用户自己定义的函数,和系统函数是不同的.子程序一般是完成特定功能的PL/SQL程序块,并且具有一定的通用性,可以被不同的应用程序多次调用.Oracle提供可以把PL/SQL程序存储在数据库中,并可以再任何地方来运行它.这样就叫做存储过程或者是函数.过程和函数的唯一区别就是函数总是向调用者返回数据,而过程则不返回数据. 函数 如果用户要经常执行某些操作,并且需要返回特定的数据,那么就可以将这些操作构造成一个函数. 可以使用SQL语句定义函数. 基

【函数】Oracle函数系列(1)--字符函数

[函数]Oracle函数系列(1)--字符函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 常见字符函数(lower.upper.initcap.concat.substr.length.intr.lpad.rpad.trim.chr.ascii.replace.translate)的使用 ② 判断字符串中是否含有汉字 ③ substr和instr的联合使用 ④

Oracle 学习笔记 17 -- 异常处理(PL/SQL)

程序在执行过程中出现异常是正常的,在程序的编写过程中出现异常也是不可避免的.但是要有相应的异常处理的机 制,来保证程序的正常执行.PL/SQL程序执行过程中出现的错误,称为异常.一个优秀的程序都应该能够正确处理 各种出错的情况,并尽可能的从错误中恢复.PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理定义的错误和自定义的错误, 由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会异常的终止. 有三种类型的错误

【Oracle学习笔记】

内容主要包含: (1)三种循环及其简化 (2)游标的使用 (3)异常处理 (4)存储过程 (5)存储函数 (6)触发器 (7)其他pl/sql操作 ---------------loop循环定义变量-------------------- declare cursor c1 is select * from emp;# rec emp%rowtype;# i numeber:=1; # v_count number;begin# select count(*) into v_count from

oracle琐碎笔记

Oracle知识点 ps:由于是自己看的所以笔记比较乱,大家谅解 Commit rollback Sql核心语句之select Selct中要用到以下语句 From语句 Where语句 Group by语句 Group by 来进行分组,分组的参数如果有重复的,只返回一个行值.(比如我按id分组如果记录中有两个id为1的记录,这时候只返回一行) Having语句 将分组汇总后的查询结果限定为只有该子句的条件为真的数据行. 一般情况下having放在groupby后面执行. Order by语句

【我的Oracle学习笔记(二)】----- select语句补充

一.多表查询 多表查询是指从多个有关联的表中查询数据,其语法与单表查询类似.一般来说,多表查询的表要用连接联系起来,如果没连接,则查询结果是这多个查询表的笛卡尔积(注释1). 模拟查询雇员姓名和所在部门名称: select [雇员姓名],[部门名称] from [雇员表] a,scott,[部门表] b where a.[部门编号]=b.[部门编号]; 上例中,为每一个查询表指定了别名,便于SQL语句的书写. 模拟查询在”sales“部门工作的雇员其雇员姓名 select [雇员姓名] from

Oracle 学习笔记 19 -- 触发器和包浅析(PL/SQL)

触发器是存放在数据库中的一种特殊类型的子程序.不能被用户直接调用,而是当特定事件或操作发生时由系统自己主动 调用执行.触发器不能接受參数.所以执行触发器就叫做触发或点火.Oracle事件指的是数据库的表进行的insert .update.delete操作或对视图进行类似的操作. 触发器是很多关系数据库系统都提供的一项技术.在Oracle系统里,触发器类似过程和函数,都有声明,运行和异常 处理过程的PL/SQL块. 触发器的组成: 触发事件:在何种情况下触发:比如:INSERT , UPDATE

尚学堂马士兵Oracle教程笔记

检查Oracle安装 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba 然后,解除对scott用户的锁 alter user scott account unlock; 那么这个用户名就能使用了. (默认全局数据库名orcl) 1.select ename, sal * 12 from emp; //计算年薪 2.select 2*3 from dual;  //计算一个比较纯的数据用dual表 3.select sysdate from dual