六、Oracle学习笔记:字符串函数
一、字符串操作
char:定长字符串类型(无论存多少数据都是固定长度的大小,最大长度为2000个字节),不指定长度时默认为一个字节
varchar2:可变长字符串类型,最大长度为4000个字节,必须指定长度
long:varchar2的加长版,最大长度为2G字节。但是一个表中只能有一个long类型的字段,此字段还不能作为主键,也不能做索引
colb:可代替long类型,最大长度4G字节,没有约束
默认单位:字节
如:char(10),表示占用内存10个字节
相当于char(10 byte)
也可以指定单位为字符char
如:char(10 char):表示内存占用10个字符,占用的字节数与字符集有关
(1)函数:拼接函数(可以使用||代替拼接函数)
--格式:concat(p1,p2):将字符串p1和p2进行无缝拼接
--练习:将字符串"hello"和"kitty"进行拼接select concat('hello','kitty') from dual;
--练习:将字符串"hello"和"kitty"拼接成"hello kitty"select concat('hello',concat(' ','kitty')) from dual;
--练习:将emp表的每个员工的名称和职位拼到一起select concat(ename,job) from emp;
--练习:可以给查询显示的字段起别名select ename||'#'||job as "拼接结果" from emp;
(2) 函数:统计长度函数
--格式:length(p1)
--练习:统计一下'hello kitty'的字符串长度select length('hello kitty') len from dual;
--练习:统计一下所有员工的姓名和长度,要求显示姓名和长度select ename,length(ename) as len from emp;
--练习:将员工的姓名和职位用||拼起来后统计长度,并显示员工的姓名和职位select ename,job,length(ename||job) as len from emp;
(3)函数:补位函数
--格式:左补位:lpad(p1,n,p2),相当于右对齐,表示使用p2在p1左边进行补位,总长度为n,n单位为字节;
--练习:使用#在字符串'hello'前进行补充,使整个字符串的总长度为20select lpad('hello',20,'#') from dual;
--练习:查询所有员工的姓名在姓名前使用空格进行补位,总长度为20select lpad(ename,20,' ') from emp;
--练习:查询所有员工的姓名和职位,使职位右对齐select ename,lpad(job,10,' ') from emp;--格式:右补位:rpad(p1,n,p2),相当于左对齐,表示使用p2在p1右边进行补位,总长度为n,n单位为字节;
--练习:统计一下所有的员工的姓名长度,姓名,在姓名后添加空格使长度到20,并统计加空格后的长度select length(ename),ename,rpad(ename,20,' '),length(rpad(ename,20,' ')) from emp;
(4)函数:大小写函数
--格式:lower(p):将p中的字母都变成小写
--格式:upper(p):将p中的字母都编程大写
--格式:initcap(p):将p中的首字母大写,其他小写,空格隔开算一个单词--练习:分别使用三个函数显示每一个员工的名称select lower(ename),upper(ename),initcap(ename) from emp;
--练习:分别使用三个函数显示"no zuo no die"select lower('no zuo no die'),upper('no zuo no die') ,initcap('no zuo no die') from dual;
(5)函数:截去函数
--格式:trim( p2 from p1):从p1前后截去p2,p2必须是一个字符
--练习:截去'上海自来水来自海上'截去'上'select trim('上' from '上海自来水来自海上') as ex1 from dual;
--练习:截去"aaabbbcsdsdsweaaa"的'a'select trim('a' from 'aaabbbcsdsdsweaaa') as ex2 from dual;--格式:ltrim(p1,p2):从p1左边截去含有p2的任意字符都可以截去,从p1左边开始,如果p1要截去的字符p2没有就停止操作
--练习:使用左截去对"abcdefgabc",截去,"abc"select ltrim('abcdefgabc','abc') from dual; --格式:rtrim(p1,p2):从p1右边截去含有p2的任意字符都可以截去,从p1右边开始,如果p1要截去的字符p2没有就停止操作
(6)函数:截取子串函数
--格式:substr(p1,startindex,length):取子串,对p1进行截取,从start位置开始往后截取,没有第三个参数时,截取到最后,有第三个参数时,len表示截取到长度,start从0~1时,表示从头截取;start为负数时,表示从后往前数的第start个
--练习:截取"no zuo no die"中的"zuo no"select substr('no zuo no die',2,6) from dual;
--练习:从倒数第四个位置开始截取'no zuo no die'select substr('no zuo no die',-4) from dual;
(7)函数:检索函数
--格式:instr(p1,p2,m,n),作用返回p2在p1的什么位置上m:表示从p1的哪个位置开始n:表示p2第几次出现的位置 instr(p1,p2) m,n可有可无,没有m,n的时候表示从头开始,查找第一次出现的位置
--练习:查找子串'no'在字符串'no zuo no die'第一,二次出现的位置select instr('no zuo no die','no',1,1) as 位置 from dual;select instr('no zuo no die','no',1,2) as 位置 from dual;
--练习:查找子串在字符串中从位置4开始,往后第二次出现的位置select instr('no zuo no die','no',4,2) as 位置 from dual;注:查找不到返回值为0
六、Oracle学习笔记:字符串函数相关推荐
- mysql添加字符串日期时间_mysql学习笔记--- 字符串函数、日期时间函数
一.常见字符串函数:1.CHAR_LENGTH 获取长度(字符为单位) 2.FORMAT 格式化 3.INSERT 替换的方式插入 4.INSTR 获取位置 5.LEFT/RIGHT 取左. ...
- oracle update单引号,Oracle学习笔记:update的字段中包括单引号
平时update的时候直接更改字段内的值,例如: update table_temp set name = 'Hider' where id = 100; 但更新后的值中包括单引号,则不能按以上方式进 ...
- es6学习笔记-字符串的扩展_v1.0_byKL
es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...
- 视觉SLAM十四讲学习笔记-第六讲学习笔记总结(1)---非线性优化原理
第六讲学习笔记如下: 视觉SLAM十四讲学习笔记-第六讲-非线性优化的状态估计问题_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第六讲-非线性优化的非线性最小二乘问题_ ...
- oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型
oracle学习笔记:循环.光标.异常 文章目录 打印Hello World 定义基本变量 引用型变量(单行)` my_name emp.ename%type ` 记录型变量(多行) `emp_rec ...
- php中声明一个函数,php学习笔记之 函数声明
/* 函数定义: * 1.函数是一个被命名的 * 2.独立的代码段 * 3.函数执行特定任务 * 4.并可以给调用它的程序返回一个值 * * 函数的优点: * 1.提高程序的重用性 * 2.提高程序的 ...
- 在大量数据迁移期间oracle学习笔记
在数据迁移期间oracle学习笔记 0主键(自增) 1用户代码 2区域代码 3承保公司代码 4理赔编码 5投保确认码 6案件状态 7案件进展 8重开案件进展 9转换后案件状态 需求分析: 1.根据上述 ...
- MySQL学习笔记—自定义函数
MySQL学习笔记-自定义函数 注释语法: MySQL服务器支持3种注释风格: 从'#'字符从行尾. 从'– '序列到行尾.请注意'– '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如 ...
- oracle学习笔记 Oracle体系结构概述
oracle学习笔记 Oracle体系结构概述 从这节开始,开始讲oracle数据库体系结构. 首先从总体上,从概述上把oracle整体的体系结构讲一下, 然后接下来的时间我们会一块一块的将oracl ...
- 《JavaScript语言精粹》学习笔记(函数(2))
<JavaScript语言精粹>学习笔记(函数(2)) 函数(Functions) 参数(Arguments) 当参数被调用时,会得到一个"免费"的参数数组argume ...
最新文章
- linux命令之crontab定时执行任务【转】
- Readline-select
- 阿里新晋CNCF TOC委员张磊:“云原生”为什么对云计算生态充满吸引力?
- 让前端与后端异步起来
- leetcode 1833. 雪糕的最大数量
- 洛谷 2759 奇怪的函数
- Geatpy自定义初始种群
- 【Spring】Spring 深入理解注解及spring对注解的增强
- 字典的定义、字典的特性(成员操作符)
- 深入浅出MySQL出版了
- 这是html5中WebGL的演示
- caffe目录结构 及 caffe源码文件说明
- javaweb JAVA JSP学生信息管理系统源码(JSP学生成绩管理系统 学生管理 JSP学生管理系统)
- 【stm32】串口通信
- UE5 C++ Rider 编程指南 1.编辑器基础
- 人工神经网络理论及应用pdf,人工智能的相关书籍
- 【分享】在小米实习到SP+转正
- 实现一个地铁线路站点
- 科研必备的14个学术搜索引擎
- 非大道理谈创业团队的鬼门关
热门文章
- php date()
- Postgresql安装配置win版本
- 漫谈 Clustering (3): Gaussian Mixture Model
- svm (opencv)几个主要函数
- BOW(opencv源码)
- hdoj 1071 The Area 求面积
- python中的dict是什么数据类型_Python基本数据类型之dict
- python调用百度地图画轨迹图_利用python和百度地图API实现数据地图标注的方法
- 拓端tecdat|R语言在地图上绘制月亮图、饼状图数据可视化果蝇基因种群
- 拓端tecdat|R语言精算学:使用链梯法Chain Ladder和泊松定律模拟和预测未来赔款数据