字符串拼接的五种方式

字符串拼接的五种方式,第1张

  虽然字符串是不可变的,但是还是可以通过新建字符串的方式来进行字符串的拼接。

常用的字符串拼接方式有五种,分别是使用+、使用 concat、使用 StringBuilder、使

用 StringBuffer 以及使用 StringUtils.join。具体的使用方式:

StringUtils.join用于集合循环拼接,具体参照源码:

强调一下,如果不是在循环体中进行字符串拼接的话,直接使用+就好了。如果在并发场景中进行字符串拼接的话,要使用 StringBuffer 来代替StringBuilder。

部分图片观点参考自: 

Java成神之路      阿里云开发社区    Hollis   

不同的数据库,相应的字符串拼接方式不同,通过对比加深一下记忆。

一、MySQL字符串拼接

1、CONCAT函数

语法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表字符串,定长与不定长均可以

连接两个字符串

连接多个字符串

2、"+" *** 作符

连接两个字符串

 

连接多个字符串

3、假如其中一个字段为NULL,则用结果用空格代替NULL。

 

二、Oracle字符串拼接

1、CONCAT函数

语法格式:CONCAT(char c1, char c2) ,其中char代表字符串,定长与不定长均可以

连接两个字符串

连接多个字符串

使用CONCAT函数的嵌套实现。

2、"||" *** 作符

连接两个字符串

连接多个字符串

3、假如其中一个字段为NULL,则用结果用空格代替NULL。

扩展资料

字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数,如C,pascal,Visual以及LotusScript中进行字符串拷贝,计算长度,字符查找等的函数。

字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j"。

而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

字符串函数的应用

1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’

2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’

3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’delete(s,2,3)结果s:=’ae’

4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abcinsert(‘12’,s,2)结果s:=’a12bc’

5、求字符串长度 length(s) 例:length(‘12abc’)=5

在ASP中 求字符串长度用 len(s)例: len("abc12")=5

6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.

例:pos(‘ab’,’12abcd’)=3

7、字符的大写转换。Upcase(ch) 求字符ch的大写体。

例:upcase(‘a’)=’A’

8、数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.

例:str(12345,s)结果s=’12345’

9、数串转换为数值。 过程val(s,x,I) 把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数,第三个参数也可不传

例:val(‘1234’,x,I)结果 x:=1234

参考资料:百度百科 字符串函数的应用

使用场景:

在使用spring data jpa中的query进行将多个不同类型的id拼接成一个新的id进行查询时,遇到这个问题,主要原因是这些id的数据类型不统一,有varchar又有int类型,而sql在进行字符串拼接时如果一边是int类型,会将varchar类型转换成int类型结合 + ,类似做加法计算了(个人理解,大概是这么个意思),同样的情况在其他类型的运算中也会遇到吧,大概意思就是不同类型的值进行字符串拼接时,有一些会进行自动类型转换,而有一些在这个过程中会出现问题。因此我们需要手动地进行类型转换,而sql语法中提供了对应地函数,见下文:

将字符串与整数拼接,即varchar拼接int,不同类型间进行字符串拼接时会提示将varchar值xxx转换成数据类型int时失败。

由此可见,在做字符串拼接运算时,系统会将字符串varchar类型转化为int,若不能转换则提示错误,转换成功则进行数字计算。

因此需要将类型做一个转换,即都转换为varchar类型

sql中类型转换常用函数:

1.CAST()函数可以将某种数据类型的表达式转化为另一种数据类型

2.CONVERT()函数也可以将制定的数据类型转换为另一种数据类型

举例说明:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9647537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存