sql - 是否有替代或更好的方法来连接两个字符串

标签 sql oracle plsql

我有两个字符串,比如“hello”和“world”,我需要将它们连接起来,第一个字符串的第一个字符 + 第二个字符串的第一个字符,依此类推... 例如"hweolrllod"

我试过这个...

Declare 
 string1 varchar2(10) := 'hello';
 string2 varchar2(10) := 'world'; 
 Type arr is varray(10) of varchar2(30);
 concat arr;
Begin
 concat := arr();
 concat.extend;
 for i in 1..5 loop
   concat(i) := substr(string1,i,1); 
   concat.extend;
   concat(i+1) := substr(string2,i,1);
   dbms_output.put_line(concat(i) || concat(i+1));
 end loop;
End;

是否有替代或更好的方法来实现这一点?

谢谢,

最佳答案

我不明白你的目标,但我认为它和语法糖一样,无论如何对我来说它是另一种方式

Declare 
 string1 varchar2(10) := 'hello';
 string2 varchar2(10) := 'world'; 
 Type arr is varray(10) of varchar2(30);
 concat arr;
 string3 varchar2(50);
Begin
 concat := arr();
 concat.extend;
 for i in 1..5 loop
/*   concat(i) := substr(string1,i,1); 
   concat.extend;
   concat(i+1) := substr(string2,i,1);
   dbms_output.put_line(concat(i) || concat(i+1));*/

   string3 := string3 ||substr(string1,i,1) || substr(string2,i,1);
   dbms_output.put_line(string3);
 end loop;

End;

关于sql - 是否有替代或更好的方法来连接两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54646226/

相关文章:

java - 在单个 SQL 语句中插入/更新/删除多个表

sql - 有没有办法在 Oracle 数据库中创建自动递增的 Guid 主键?

mysql - SQL 查询将用户日志表映射到用户的第一个、最后一个和以前的事件

sql - 如何在 SQL 中匹配和替换字符串的各个部分

在指定日期之前显示的 SQL 查询

使用 dbms_alert 的 Java 桌面应用程序

sql - 创建具有左侧/右侧的用户定义运算符

MySQL:对char(n)类型的列条目的每个字符进行约束

sql - 如何授予 SQL 角色创建和管理临时表的权限

php - Oracle 绑定(bind)所有 $_POST