Java和SQL取两个字符间的值
Java
String str = "abcdefg";
String result = str.substring(str.indexOf(">")+1, str.lastIndexOf("<"));
StringUtils.substringBefore(“abcdec”, “c”); 结果是:ab 这里是以第一个”c”为标准。
StringUtils.substringBeforeLast(“abcdec”, “c”) 结果为:abcde这里是以倒数第一个”c”为标准。
SQL
对“*”及以前的字符进行截取
在sql中可以使用下边函数进行截取特殊字符:
substr(str,instr(str,'*',1)+1)
其中,使用了substr函数和instr函数。
1、substr(string,start_position,[length])求子字符串,返回字符串
第一个参数表示要截取的字符串,第二个表示起始位置,第三个表示截取的长度,可省略。
2、instr(string,subString,position,ocurrence) 查找字符串的位置
第一个参数表示源字符串,第二个是要查找的字符,第三个是要查找的开始位置,第四个是查找的字符是第几个。
取一个字段中两个字符之间信息
1、substring(a.specifications,charindex(':',a.specifications,charindex(';',specifications))+1,1)
SQL报错
FUNCTION db.charindex does not exist
2、使用substring_index语法
用法规则:
substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N)
具体要截取第N个逗号前部分的字符,在字符串中以逗号为索引,获取不同索引位的字符。
N可以为负数,表示倒数第N个索引字符后面的字符串。(有负号的时候,可以将整个字符倒过来看,依旧是第N个字符前面的部分。)
具体例子:
首先假定需要截取的字符串为“192;168;8;203”,这里截取的依据是分号:“;”
结果如下:
取第一个逗号前的字符串 :
SELECT SUBSTRING_INDEX(‘192;168;8;203’,’;’,1);
==>得到结果为: 192
取最后逗号后面的部分:
SELECT SUBSTRING_INDEX(‘192;168;8,203’,’;’,-1);
==>得到结果为: 203
取第2个逗号前那部分字符串里,最后逗号后面的部分
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘192;168;8;203’,’;’,2),’;’,-1);
==>得到结果为: 168
取倒数第二个逗号后面部分字符串,再去这部分里第一个都号前的部分:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘192;168;8,203’,’;’,-2),’;’,1);
==> 得到结果为:8
Java和SQL取两个字符间的值的更多相关文章
- 【HANA系列】SAP HANA SQL计算两个日期的差值
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL计算两个 ...
- exl表格找两个字符间的数据
例子找的是]XXX,中间的内容 =MID(B2,FIND("]",B2)+1,FIND(",",B2)-FIND("]",B2)-1) ...
- SQL 取两日期的记录
SELECT TOP 1000 [ID] ,[SourcePageID] ,[PlatformType] ,[CreateTime] FROM [home_sendor ...
- java实现两台电脑间TCP协议文件传输
记录下之前所做的客户端向服务端发送文件的小项目,总结下学习到的一些方法与思路. 注:本文参考自<黑马程序员>视频. 首先明确需求,在同一局域网下的机器人A想给喜欢了很久的机器人B发送情书, ...
- FromBase64String 输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符
js前台: <input id="upload_img_input" v-on:change="onFileChange" type="file ...
- Base64 报错 的解决办法 (Base-64 字符数组或字符串的长度无效。, 输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符。)
Base64 报错 的解决办法, 报错如下:1. FormatException: The input is not a valid Base-64 string as it contains a n ...
- 注册许可证出现“输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非空白字符”
问题描述: 引入失败!输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符.两个以上的填充字符,或者填充字符间包含非空白字符 解决方案: 去注册cloud7.0的产品,重新引入 ...
- SQL表两列取一列唯一值的记录
问下SQL表两列取一列唯一值的 A列 B列 C列 1001 AA 2012-01-02 1001 BB 2012-02-05 100 ...
- mybatis项目报错:java.sql.SQLException: ORA-00911: 无效字符 解决方法
如果你用java写程序访问数据库,出现这个问题:java.sql.SQLException: ORA-00911: 无效字符 at oracle.jdbc.driver.DatabaseError.t ...
随机推荐
- centos7编译安装PHP7已经把你逼到去安定医院看门诊的地步?请看此文
本文援引自https://www.cnblogs.com/lamp01/p/10101659.html,亲测可行,特此鸣谢 地球上总有一群人是如此深爱PHP,但无奈的是编译安装的过程化特性,导致各种b ...
- struts2之单文件上传(7)
前台页面jsp <!-- 拦截的时候用这个 <s:form action="uploadAction" enctype="multipart/form-dat ...
- [Spring] Spring Data JPA
Previouly we need to define a DAO interface and a DAO impl for 'Employee', it is not so reuseable, s ...
- 【Wince-USB通讯】Wince在没有Wifi的情况下使用USB数据线与PC进行Socket通讯
具体操作 1.确保Wince连接PC成功 2.服务端的IP输入:127.0.0.1 ,然后启动侦听. 3.在客户端输入的服务器IP是:192.168.55.100 (客户端的IP是192.168.55 ...
- IntelliJ 如何显示代码的代码 docs
希望能够在 IntelliJ 代码上面显示方法的 docs. 如何进行显示? 你可以使用 Ctrl + Q 这个快捷键来查看方法的 Docs. https://blog.ossez.com/archi ...
- HDU - 5528Count a * b 数学公式推导
HDU - 5528Count a * b 照着这个写的,忘了哪个大佬博客里的了, 但很多初学者,像我一样可能不懂其中一些符号的意义,还有为什么可以这样推导,所以我自己又推导了一下,并用自己的观点解释 ...
- oracle基本使用
一.数据库 1.1 主流数据库 微软: sql server .access 瑞典MySQL: AB公司mysql IBM公司: db2 美国Sybase公司:sybase 美国oracle公司: o ...
- python2.X与Python3.X区别
__future__模块 [回到目录] Python 3.x引入了一些与Python 2不兼容的关键字和特性,在Python 2中,可以通过内置的__future__模块导入这些新内容.如果你希望在P ...
- fiddler无法生成证书
在win7有可能无法生成证书打开安装Fiddler的路径下,按住shift 右击在此处打开命令行窗口 输入以下命令 makecert.exe -r -ss my -n "CN=DO_NO ...
- js 继承的一个例子
<script type="text/javascript"> function Animal(){ this.species = "动物"; th ...