oracle取字段第三位字符,oracle截取字符串(截取某个字符前面的字符串)
要求:A.数据库表中的一个字符串 可能含有"+" 例:ORC+001
也可能不含“+”
B.要求如果该字符串含有“+”,则取“+”之前的字符 例:ORC+001 取ORC
C.如果该字符串不含"+",则直接取该字符串。
解答:利用ORACLE中 INSTR,SUBSTR以及CASE WHEN语法即可实现。
Oracle中函数
INSTR:INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。
例:Select INSTR(‘ORC+001‘,‘+‘,1,1) from dual
返回的是"4" 如果该字符串没有匹配字符 返回的是“0”。
SUBSTR:取子字符串 取子字符串
SUBSTR(源字符串,起始位置,要取多少位)
从“起始位置”开始,取“多少"个
例 Select SUBSTR(‘ORC+001‘,1,3) from dual;
返回的是“ORC”
全例如下
表T_RCV_ISSUE
WH_CD字段
取 WH_CD 如果该字段包含"+",取“+”之前的字符
如果该字段没有"+",取整个字段
T_RCV_ISSUE表
WH_CD 分别为 MR-PS+007,MR-WS,MR-WS+001,MR-PS
执行
SELECT CASE
WHEN INSTR(WH_CD, ‘+‘, 1, 1) > 0
THEN SUBSTR(WH_CD, 1, INSTR(WH_CD, ‘+‘, 1, 1) - 1)
ELSE WH_CD
END AS WH_CD
from T_RCV_ISSUE
结果:MR-PS,MR-WS,MR-WS,MR-PS ......
oracle取字段第三位字符,oracle截取字符串(截取某个字符前面的字符串)相关推荐
- 格式化输出,浮点数e,f,g保留位数的计算方式不同,e,f :%.3e/f:取小数点后三位,g:%.3g总共有效位数为3,不包括小数点
格式化输出:format() format():把传统的%替换为{}来实现格式化输出 使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串,位置 ...
- oracle取字段部分内容,oracle截取字段中某部分数据
Oracle提前某数据的 前几位或后几位 用substr函数. 如test表中数据如下: 现要提取dept字段中的前两位,可用如下语句: select id,name,substr(dept,1,2) ...
- oracle查询保留小数点后三位,关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其他位数)...
方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),'FM9999999999999999.00') as amount 不足之处是,如果数值是0的话 ...
- sql oracle分页查询,【SQL】Oracle分页查询的三种方法-Oracle
[SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 [sql] select * from t_user t where ROWNUM <10; 按照学生ID排名 ...
- 【Oracle】plsql连接64位的Oracle
32位Oracle客户端下载地址 当我们安装64位的Oracle,想借助plsql来连接oracle时,发现是不能连接的,因为plsql没有64位的版本,因此我们需要借助Oracle的32位客户端.这 ...
- c#取小数点后三位_VB.NetC#-取小数点后几位但不四舍五入的方法
导读热词 方法1: int n=3://例如取小数位3位 double a=1.1234567: int index = a.ToString().IndexOf(".");//取 ...
- oracle修改字段详解,详解Oracle修改字段类型方法总结
最近学习了Oracle修改字段类型方法,留做记录. 有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行: sql;" ...
- oracle语句取字段前2位,oracle截取某一个字符之前或之后的值;substr();instr()
PCB电路板上防潮绝缘抗腐蚀的三防漆 三防漆(Conformal Coating)是一种涂在电路板上以形成保护膜的方法,这层保护膜通常仅是薄薄的一层(约30-210µm),它可以用来加强电子产品的防潮 ...
- oracle 取字段长度为5,oracle9i中varchar2(5)字段长度不足5前面补0?
oracle9i中varchar2(5)字段长度不足5前面补0? mip版 关注:201 答案:2 悬赏:20 解决时间 2021-01-19 11:34 已解决 2021-01-18 23:5 ...
最新文章
- JavaScript强化教程——对象的值传递和引用传递
- git 如何删除本地创建的仓库(转载自 https://segmentfault.com/q/1010000002996177?_ea=262685)...
- Spring精华问答 | Spring Boot有哪些优点?
- python中方法调用方法_Python中实现结构相似的函数调用方法
- 用Markdown格式写一份前端简历
- 乱舞三国java_真.乱舞三国-江山美色
- python误差修正模型_误差修正模型ECM_eviews误差修正模型
- Inferred type 'S' for type parameter 'S' is not within its bound
- VmBox下安装linux CentOS-7资料
- ubuntu14.04安装Kile
- 聚观早报 | Apple Music推出新功能;苹果汽车最早于2026年发布
- Matlab axis用法
- c语言体重指数bmi计算器,身高106cm体重19.5kg的女性标准体重与BMI指数 - BMI计算器...
- 计算机考研基础必考知识点,2020考研计算机数学49个基础知识点
- 反复p图、修图,照片画质低如何修复模糊图片为高清?
- 论文:Aurora Guard_ Real-Time Face Anti-Spoofing via Light Reflection
- Scala 中 ensuring 方法的使用说明
- 杨广悟道第一课:年月日时天干地支的计算方法
- linux 虚拟机安装Perl
- 剪映windows版1.0的使用
热门文章
- mysql如何保证数据不丢失_23 | MySQL是怎么保证数据不丢的?
- 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 三十║ Nuxt实战:动态路由+同构...
- Spring Cloud Feign 1(声明式服务调用Feign 简介)
- LeetCode--path sum ii
- cnBlog的windows live writer 客户端配置
- deleter mysql,如何通过env文件传递docker中的环境变量?
- pstack: Input/output error failed to read target解决
- Linux音频驱动开发概括
- Android5.x(NTP和NITZ)时间同步
- 关于LD_PRELOAD在Android API HOOK中的应用