java中substring函数和CHARINDEX函数,详细解析

BSO 2020-10-21 15:51:04 java常见问答 6549

对于很多人来说,java的学习是一个非常漫长的过程,因为java中的知识点是非常多的,而且涉及的方向不尽相同。今天就来为大家介绍java中substring函数和CHARINDEX函数,一起来看看吧。

1.substring函数——截取字符串

SUBSTRING(expression, start, length)

expression——字符串二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。

start——整数或可以隐式转换为int的表达式,指定子字符串的开始位置。

length——整数或可以隐式转换为int的表达式,指定子字符串的长度

left(field,length) ——函数返回field最左边的length个长度的字符串

right(field,length)——函数返回field最右边的length个长度的字符串

eg1:取定长定位置的字符串,代码如下所示:

select substring('abdcsef', 1, 3)

result: abd

2.CHARINDEX函数——返回字符或者字符串在另一个字符串中的起始位置

CHARINDEX(expression1 , expression2 [ , start_location ]) —— CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。

CHARINDEX('SQL', 'Microsoft SQL Server')

这个函数命令将返回在“Microsoft SQL Server”中“SQL”的起始位置,在这个例子中,CHARINDEX函数将返回“S”在“Microsoft SQL Server”中的位置11。

eg1:取不定长不同位置的字符串,如下图所示:

java中substring函数和CHARINDEX函数

我们只想要得到'roomno'中的房间号,发现起始字符位置并不是固定的,而且,我们需要的房间号长度也不固定。

此时,我们可以运用‘charindex’这个函数就可以轻松搞定,它是用来定位某个特定字符在该字符串中的位置,即该函数

得到的结果是一个用来表示某个特定字符位置的数字。代码如下所示:

select
room_stand = substring(roomno, charindex('元', roomno) + 1, charindex('室', roomno) - charindex('元', roomno) - 1)
from PROPERTY_room
where roomno like '%单元%室%'

result:如下图:

java中substring函数和CHARINDEX函数

3.补充一下,STUFF函数——删除指定长度的字符,并在指定的起点处插入另一组字符。

STUFF(character_expression , start , length ,character_expression)代码如下所示:

SELECT STUFF('abcde', 2, 3, '123')

result:a123e

以上就是关于java中substring函数和CHARINDEX函数的主要内容了。如果你对java知识感兴趣,想要了解更多java基础知识,敬请关注奇Q工具网。

推荐阅读:

java中字符串转换函数,日期函数,详细解析

java中字符串函数,详细解析

java中sql常用字符串处理函数,常用函数展示