Oracle字符串函数

Oracle中的字符串类型及相关函数详解 1、概述 本文介绍String类型及相关的函数,基于当前最新的Oracle 12c 为基础作介绍。 下文将字符串简称为串。 Oracle函数的工作方式有两种: 1、根据旧的对象创建新的对象——他们对原来的信息进行修改,如改变字母的大小写。 2、告诉用户有关的信息,如一个单词或句子中有几个字符。 后续会更新另外两种处理文本的方式:Oracle中的正则表达式 和 Oracle Text工具,等文章编辑完成,会在此处添加链接。 Oracle中主要有两种字符 阅读详情

1.Oracle instr函数  -截取某字符在父字符串中的索引位置
  INSTR (源字符串, 目标字符串, 起始位置, 匹配序号)
  instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。
  参数说明:
  起始位置->此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引
  匹配序号->代表要查找第几次出现的目标字符串. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
 比如: SELECT instr('abc','d') FROM dual;  -- 返回 0
        select INSTR('pop.kid.orc.txt', '.', -1) from dual; --返回 12
        SELECT instr('pop.kid.orc.txt','.',-1,2) FROM dual;  -- 返回 8
        SELECT instr('syranmo','an',-1,1) FROM dual;  -- 返回 4 (就算是由右到左数,索引的位置还是要看‘an’的左边第一个字母     的位置,所以这里返回4)

  还有一个用法,如下:

  SELECT code, name, dept, occupation  FROM staff  WHERE instr(code, '001') > 0;

  等同于

  SELECT code, name, dept, occupation  FROM staff  WHERE code LIKE '%001%' ;

2.Oracle substr函数 -从父字符串截取指定位置的子字符串

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

 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串

 substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符

 substr('Hello World',2,4) //返回结果为 'ello'

 substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

3.Oracle length()函数-不能区分中英文,只能得到字符数而不能得到字节数

  不能对一个使用LONG数据类型的列使用LENGTH之类的函数。

4.Oracle Trunc()函数-用于对值进行截断

格式:TRUNC(n1,n2),n1表示被截断的数字,n2表示要截断到那一位。n2可以是负数,表示截断小数点前,即均以0记。

注意,TRUNC截断不是四舍五入。

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

/***************数字********************/
/*
TRUNC(number,num_digits) 
Number 需要截尾取整的数字。 
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
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

5.Oracle ROUND函数-四舍五入

传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。

select round(123.456, 0) from dual;          回传 123 

select round(123.456, 1) from dual;          回传 123.5 

select round(-123.456, 2) from dual;        回传 -123.46

 OtherWise:

  ceil(n) 取大于等于数值n的最小整数;floor(n)取小于等于数值n的最大整数 

6.LOWER(string) 将输入的字符串转换成小写

7.UPPER(string) 将输入的字符串转换成大写

8.INITCAP(string) 将输入的字符串单词的首字母转换成大写。PS:如果不是两个字母连在一起,则认为是新的单词,

  例:a_b a,b  a b  类似前面这些情况,都a和b都会转换成大写

9.concat-连接函数(||)

 将两个字符串用||连接起来,除此之外还可以使用Concat函数来连接字符串。

 例:select CONCAT('City','country') from Table

注意:如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,与MySQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接。

10.LPAD和RPAD,填充函数

    这是两个十分相似的函数,使用方式完全一样。允许在列的左[右]边填充一组字符。例:RPAD(city,20,'.'),如果ciy的值没有小于长度20的话,则用'.'在右边补齐,补到20个,如果是用空格补齐,看上去就是像左对齐一样。

11.LTRIM,RTRIM和TRIM

   他们的作用是从字符串的左边,右边,左右两边删除不需要的字符,默认时删除空格。trim只能去除单个字符,而ltrim和rtrim可 以去除多个字符。

  trim格式略有不同:

  SELECT trim(leading 'd' from 'dfssa') FROM dual; --fssa(前)

  SELECT trim(both '1' from '123sfd111') FROM dual; --23sfd

  SELECT trim(trailing '2' from '213dsq12') FROM dual;--213dsq1(尾)

  rtrim:SELECT rtrim('aaaaminb','main') FROM dual;--aaaaminb

  ltrim:SELECT ltrim('ccbcminb','cb') FROM dual;--minb

12.Chr和ascii函数

 在即查询中很少使用。Chr把数值转换成等价的ascii字符串  例:select chr(70) from dual

 ascii函数执行的结果刚好是相反的,传递给他字符串,它将转换成对应的数值(只转换第一个字符串),如果需要同时转换多个字符串可以使用DUMP函数 DUMP(string)

13.REPLACE(string,s1,s2)-替换函数 

 说明:string 希望被替换的字符或变量  s1 被替换的字符串  s2 要替换的字符串

  select replace(he love you,he,i) from dual; --i love you
14.ABS(n)-绝对值函数,返回指定值的绝对值 ;
   MOD(n1,n2) -返回一个n1除以n2的余数;
   ADD_MONTHS(date,int)-增加或减去月份;
   LAST_DAY(sysdate) -返回该月的最后一天;
   MONTHS_BETWEEN(date2,date1)-给出date2-date1的之间月份数;
   NEXT_DAY(date,day)-给出日期date和星期x之后计算下一个星期的日期;
日期转换函数:

TO_DATE:将字符串按照定制格式转换为日期类型

         for example:TO_DATE('2002-01-01','YYYY-MM-DD')
TO_CHAR:将其它类型(日期,数值)的数据转换为字符类型,主要应用在日期类型上。

         for example:TO_CHAR(hiredate,'YYYY"年"MM"月"DD"日"')

PWM与光耦的完美联姻:低成本4-20mA转换方案揭秘 本文揭秘了PWM与光耦结合的低成本4-20mA转换方案,适用于工业自动化领域。通过PWM信号控制输出电流,光耦实现电气隔离,该方案成本低廉、电路简单且隔离可靠。文章详细介绍了两种经典电路实现方案,包括四光耦线性模式方案和PWM控制LM317方案,并提供了实战技巧与优化策略,帮助中小企业和电子DIY爱好者构建经济高效的4-20mA转换系统。 阅读详情

相关推荐

VMware虚拟机的安装教程

VMware 虚拟机的备份与恢复是保障数据安全和业务连续性的重要措施。综上所述,VMware 虚拟机的备份与恢复策略有多种选择,企业和用户可以根据实际需求和资源情况选择适合自己的方案,以确保虚拟机数据的安全和业务的连续性。

huanghm88的专栏 2947

Oracle数据库基础之数据库字符串类型

目录目录 CHAR与VARCHAR2类型 CHAR和VARCAHR2的存储编码 CHAR和VARCHAR2的最大长度 LONG和CLOB类型CHAR与VARCHAR2类型 CHAR 存放定长字符,即存不满补空格 VARCHAR2存放变长字符 ,存多少占用多少空间。 如”HELLOWORLD”字符串,共10个英文字母 1)CHAR(100):10个字母,补齐90个空格,实际占用100

子不语的博客 1074

PLSQL Developer14连接Oracle详细过程

下载地址:Instant Client for Microsoft Windows (x64) 64-bit | Oracle 中国解压客户端工具到一个目录(解压文件到当前目录,自动合并成一个目录)​ 电脑(右键)→属性→高级系统设置→环境变量→系统环境变量→新建变量名:NLS_LANG 变量值: AMERICAN_AMERICA.ZHS16GBK​ 变量名:TNS_ADMIN 变量值:C:\xiaxinyu\software\Oracle\instantclient_19_10​ 在Oracle客户端(C

summer_fish的专栏 3980

oracle常用的字符串函数,oracle常用字符串函数

字符串是由两个引号来定义的,而在两个引号中没有任何字符时,表示NULL值。一、字符串替换replace和translate函数replace和translate都是拥有字符替换的功能,replace是以字符串为单位,translate是以单个字符为单位。语法:replace(‘目标字符串’, ‘待搜索字符串’, ‘替换字符串’)select replace('123456abcdefg', 'ab...

weixin_32121147的博客 2513

ROS2与Gazebo协同实现多机器人避障仿真

本文详细介绍了如何利用ROS2与Gazebo协同搭建多机器人避障仿真环境。通过创建SDF机器人模型、编写多机器人启动文件以及集成基础避障算法,构建了一个低成本、高效率的虚拟测试平台,为AGV编队、机器人集群等项目的算法验证与迭代提供了完整解决方案。

weixin_29065659的博客 293

告别Windows!Oculus Quest 2在Mac M1上的串流实战(scrcpy+SideQuest避坑指南)

本文为Mac M1用户提供了Oculus Quest 2在macOS上实现高清低延迟串流的实战指南。通过使用开源工具scrcpy和SideQuest,绕开官方限制,详细讲解了从环境准备、无线调试到画质与延迟优化的完整步骤,重点解决了Apple Silicon芯片Mac的连接与性能问题,助你告别Windows依赖。

weixin_29224309的博客 308

ORACLE 字符串函数

字符串函数 1、INSTR() 格式一:instr(string1,string2) 返回string2第一次出现在string1的位置,若没有出现,则显示0 select instr('hello','lc') from dual; // 0 select instr('hello','lo') from dual; // 4 格式二:instr(string1,string2,...

llljw的博客 1万+

GD32F303片内FLASH实战:从地址映射到数据持久化存储

本文详细介绍了GD32F303片内FLASH的实战应用,从地址映射到数据持久化存储的全过程。通过解析FLASH的基础特性、安全操作区域规划、擦除写入读取的三重奏操作,以及工程化进阶技巧,帮助开发者高效利用片内FLASH进行数据存储。文章还提供了调试技巧和常见问题解决方案,特别适合嵌入式开发者在实际项目中应用。

weixin_26742753的博客 214

Oracle常用字符串函数

#(1)转换大写 select upper('HEllo') from dual; #HELLO #(2)转换为小写 select lower('HEllo') from dual; #hello #(3)首字母大写 select initcap('HEllo') from dual; #Hello #(4)截取字符串 select substr('Hello World',1,7) from dual; #Hello W #(5)字符串长度 select length('Hello World') fr

athga的博客 791

[QMT和ptrade量化交易小白入门]-120、卖出深度虚值期权的三重过滤策略

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 281

如何让 Mac mini 24小时不休眠运行 OpenClaw

如果 OpenClaw 每 5-10 分钟自动退出,launchd 连续 4 次快速重启后会判定为崩溃循环并卸载服务。:方案一(pmset)+ 方案三(launchd)组合使用,既防止系统休眠,又保证 OpenClaw 开机自启和崩溃自动恢复。:caffeinate 只在进程运行期间有效,终端关闭或进程结束后系统恢复正常睡眠策略。这条命令会自动创建 launchd plist 并启用服务,是最推荐的方式。替换为你的实际用户名路径,Node.js 路径也要改成你自己的。确保 plist 中有。

Maynor的博客 2197

Oracle 中常用的字符串函数总结

从指定位置start_pos截取字符串string的length位,如果不指定length(格式2)则从指定位置start_pos截取字符串string。从字符串string的指定位置start_pos开始查询子串sub_string第times次出现的位置。与trim类似,去掉前导使用关键字leading,去掉后缀使用关键字trailing,都去除不实用关键字。start_pos等于0或者1均从左边第一位开始截取。如果start_pos为负整数,则从右截取字符串。trim 去字符串首尾空格。

KevinChen2019的博客 1万+

【数据结构】考点二十八 : 二叉树的概念:二叉树的度、完全二叉树、满二叉数结点数、哈夫曼结点数、完全二叉树的深度

二叉树(Binary Tree)是一种常见的数据结构,它或者为空(null),或者由一个根节点(root node)和两个子树(left subtree 和 right subtree)组成,这两个子树又分别是一棵二叉树。二叉树的每个节点最多有两个子节点,通常称为左子节点(left child)和右子节点(right child)。

超越的博客 1737

oracle切割字符串函数,Oracle字符串分割函数

今天在创建视图的时候,碰到一个问题,问题如下:将字符格式为“XXX,YYY”分割出来,并且分割后作为两个字段放入视图中。考虑使用字符分割函数,但是查找资料Oracle没有字符分割的函数(我对Oracle不熟悉)。最后决定自己写个函数处理,函数的SQL如下:create or replace function FUN_SPLITSTR(str varchar2,splitchart varchar2...

weixin_35900818的博客 4873

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

oracle关于字符串函数,oracle 字符串函数跟日期函数

oracle 字符串函数和日期函数/*-------------------------------oracle函数----------------------------*//*---------------------------字符串函数-------------------------*/--1.ascii(char) 返回指定字符转化为ascii码值select ascii('a') a...

weixin_42525551的博客 142

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Oracle 字符串函数

1. Ascii()函数 Ascii()函数可以返回代表指定字符的数字值代码。 ASCII( single_character ) 参数 single_character:指定的字符来检索NUMBER代码。 如果输入多个字符,则ASCII函数将返回第一个字符的值,并忽略第一个字符后的所有字符。 2. Asciistr()函数 Asciistr()函数可以使用数据库字符集将任何字符集中的字符串转换为ASCII字符串。 ASCIISTR( string ) 参数 string:任何字符集中的字符串,希望将其

weixin_41324527的博客 4811

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Oracle中字符串函数总结

instr(目标字段,目标字符串,起始参数,匹配参数次数) 作用:instr函数返回要截取的字符串在源字符串中的位置。只检索一次,也就是说从字符的开始到字符的结尾就结束。 语法:instr(源字符串, 目标字符串, 起始位置, 匹配序号) demo: select instr('helloeorld','l') from dual; -- 返回结果:3 默认第一次出现"l"的位置 ...

yuandeyirenxins的博客 1944

oracle 拆分字符串函数

create or replace function split_str(var_str   in varchar2,                                       var_split in varchar2)/****************************************************  注意 先执行下面语句 创建类型  create o

sunningliu的专栏 3359

oracle拆分合并字符串函数,Oracle拆分字符串函数

Oracle拆分字符串函数--定义类型CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2(4000);--创建函数CREATE OR REPLACE FUNCTION f_stringsplit (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)RETURN ty_str_split PIPELIN...

weixin_39757169的博客 288

oracle 使用字符串函数,ORACLE 字符串操作函数

1、TRIM([[LEADING||TRAILING||BOTH] c2 FROM] c1)。看起来很复杂,理解起来很简单:(1)如果没有指定任何参数则oracle去除c1头尾空格例如:SELECT TRIM(' WhaT is tHis ') FROM DUAL;(2)如果指定了c2参数,则oracle去掉c1头尾c2(这个建议细致测试,有多种不同情形的哟)例如:SELECT TRIM(...

weixin_35822833的博客 400

oracle分割字符串函数

创建oracle分割字符串函数: CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000); CREATE OR REPLACE FUNCTION splitstr(p_string IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN str_split PIPELINE

1084

oracle中的分隔函数,Oracle中的split字符串分割函数

首先需要定义 2 个类型1. Row 类型CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000))2. Table 类型CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_split创建函数:CREATE OR REPLACE ...

weixin_28787801的博客 3383

oracle 带字符串函数,oracle 字符串操作函数 大全

本文详细介绍Oracle函数之常见单行字符串函数   单行字符串函数用于操作字符串数据,他们大多数有一个或多个参数,其中绝大多数返回字符串 ascii()c1是一字符串,返回c1第一个字母的ascii码,他的逆函数是chr() select ascii(''a'') big_a,ascii(''z'') big_z from empbig_a big_z65 122chr()[nchar_cs]i...

weixin_39980841的博客 365

oracle关于字符串函数,Oracle字符串处理函数

Oracle字符串处理函数Oracle字符串处理函数2008年10月18日 星期六 23:45项目中有涉及存储过程对字符串的处理,所以就将在网上查找到的资料汇总,做一个信息拼接式的总结。以下信息均来自互联网,贴出来一则自己保存以待以后使用,一则供大家分享。字符函数——返回字符值这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类...

weixin_39732534的博客 241
上一篇: xml文件 实现“一次性”导入功能
下一篇: 身份证 验证、识别~后台代码
Footloose_
博客等级 码龄10年 254粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值