sql - 如何在存储过程中拆分逗号分隔的字符串?

标签 sql string firebird firebird2.5

如何在存储过程中将逗号分隔的字符串拆分为字符串并将它们插入到表字段中?

使用火鸟 2.5

最佳答案

这是一个如何拆分字符串并将子字符串写入表格的示例:

create procedure SPLIT_STRING (
  AINPUT varchar(8192))
as
declare variable LASTPOS integer;
declare variable NEXTPOS integer;
declare variable TEMPSTR varchar(8192);
begin
  AINPUT = :AINPUT || ',';
  LASTPOS = 1;
  NEXTPOS = position(',', :AINPUT, LASTPOS);
  while (:NEXTPOS > 1) do
  begin
    TEMPSTR = substring(:AINPUT from :LASTPOS for :NEXTPOS - :LASTPOS);
    insert into new_table("VALUE") values(:TEMPSTR);
    LASTPOS = :NEXTPOS + 1;
    NEXTPOS = position(',', :AINPUT, LASTPOS);
  end
  suspend;
end

关于sql - 如何在存储过程中拆分逗号分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8056507/

相关文章:

mysql - 如何删除除每小时一条以外的所有记录

mysql - 如何使用 concat 和 UPPER 在 sql 查询中搜索多个列

SQL查找具有相邻数字的行

sql - 如何在 SQL SERVER 2008 中使用 LAG FUNCTION

java - 根据 Java 中字符串的第 n 次出现拆分字符串

java - Trim() 方法不删除文本前面的空格吗?

c++ - 确定Firebird SQL版本的方法?

java - 连接到 Firebird 数据库时出现错误 "Insufficient memory to allocate page buffer cache"

Python 正则表达式在看到 & 符号时停止

sql - 将带有外键的第三张表的记录复制到另一张表