一、字符串操作
      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学习笔记:字符串函数相关推荐

  1. mysql添加字符串日期时间_mysql学习笔记--- 字符串函数、日期时间函数

    一.常见字符串函数:1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左. ...

  2. oracle update单引号,Oracle学习笔记:update的字段中包括单引号

    平时update的时候直接更改字段内的值,例如: update table_temp set name = 'Hider' where id = 100; 但更新后的值中包括单引号,则不能按以上方式进 ...

  3. es6学习笔记-字符串的扩展_v1.0_byKL

    es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...

  4. 视觉SLAM十四讲学习笔记-第六讲学习笔记总结(1)---非线性优化原理

    第六讲学习笔记如下: 视觉SLAM十四讲学习笔记-第六讲-非线性优化的状态估计问题_goldqiu的博客-CSDN博客 ​​​​​​视觉SLAM十四讲学习笔记-第六讲-非线性优化的非线性最小二乘问题_ ...

  5. oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型

    oracle学习笔记:循环.光标.异常 文章目录 打印Hello World 定义基本变量 引用型变量(单行)` my_name emp.ename%type ` 记录型变量(多行) `emp_rec ...

  6. php中声明一个函数,php学习笔记之 函数声明

    /* 函数定义: * 1.函数是一个被命名的 * 2.独立的代码段 * 3.函数执行特定任务 * 4.并可以给调用它的程序返回一个值 * * 函数的优点: * 1.提高程序的重用性 * 2.提高程序的 ...

  7. 在大量数据迁移期间oracle学习笔记

    在数据迁移期间oracle学习笔记 0主键(自增) 1用户代码 2区域代码 3承保公司代码 4理赔编码 5投保确认码 6案件状态 7案件进展 8重开案件进展 9转换后案件状态 需求分析: 1.根据上述 ...

  8. MySQL学习笔记—自定义函数

    MySQL学习笔记-自定义函数 注释语法: MySQL服务器支持3种注释风格: 从'#'字符从行尾. 从'– '序列到行尾.请注意'– '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如 ...

  9. oracle学习笔记 Oracle体系结构概述

    oracle学习笔记 Oracle体系结构概述 从这节开始,开始讲oracle数据库体系结构. 首先从总体上,从概述上把oracle整体的体系结构讲一下, 然后接下来的时间我们会一块一块的将oracl ...

  10. 《JavaScript语言精粹》学习笔记(函数(2))

    <JavaScript语言精粹>学习笔记(函数(2)) 函数(Functions) 参数(Arguments) 当参数被调用时,会得到一个"免费"的参数数组argume ...

最新文章

  1. linux命令之crontab定时执行任务【转】
  2. Readline-select
  3. 阿里新晋CNCF TOC委员张磊:“云原生”为什么对云计算生态充满吸引力?
  4. 让前端与后端异步起来
  5. leetcode 1833. 雪糕的最大数量
  6. 洛谷 2759 奇怪的函数
  7. Geatpy自定义初始种群
  8. 【Spring】Spring 深入理解注解及spring对注解的增强
  9. 字典的定义、字典的特性(成员操作符)
  10. 深入浅出MySQL出版了
  11. 这是html5中WebGL的演示
  12. caffe目录结构 及 caffe源码文件说明
  13. javaweb JAVA JSP学生信息管理系统源码(JSP学生成绩管理系统 学生管理 JSP学生管理系统)
  14. 【stm32】串口通信
  15. UE5 C++ Rider 编程指南 1.编辑器基础
  16. 人工神经网络理论及应用pdf,人工智能的相关书籍
  17. 【分享】在小米实习到SP+转正
  18. 实现一个地铁线路站点
  19. 科研必备的14个学术搜索引擎
  20. 非大道理谈创业团队的鬼门关

热门文章

  1. php date()
  2. Postgresql安装配置win版本
  3. 漫谈 Clustering (3): Gaussian Mixture Model
  4. svm (opencv)几个主要函数
  5. BOW(opencv源码)
  6. hdoj 1071 The Area 求面积
  7. python中的dict是什么数据类型_Python基本数据类型之dict
  8. python调用百度地图画轨迹图_利用python和百度地图API实现数据地图标注的方法
  9. 拓端tecdat|R语言在地图上绘制月亮图、饼状图数据可视化果蝇基因种群
  10. 拓端tecdat|R语言精算学:使用链梯法Chain Ladder和泊松定律模拟和预测未来赔款数据