查询varchar列并将字符传递给不同表中的行

kulphzqa  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(286)

我想从一个 varchar 列,我想传递到另一个表,如:

1
2
3
4
5

我不知道如何一个字符接一个字符,直接插入另一个表。我正在使用sql server数据库
请给我举个例子,我怎样才能做到这一点。
我所拥有的只是选择列的查询—但我不知道如何逐个char获取char并插入到另一个表中,我需要验证char是否为示例0 don not insert

bf1o4zei

bf1o4zei1#

可以使用递归cte:

with cte as (
      select '' as chr, '12345' as rest, 0 as lev
      union all
      select left(rest, 1), stuff(rest, 1, 1, ''), lev + 1
      from cte
      where rest <> ''
     )
select chr
from cte
where lev > 0;

要插入到现有表中,只需添加 insertselect :

with cte as (
      select '' as chr, '12345' as rest, 0 as lev
      union all
      select left(rest, 1), stuff(rest, 1, 1, ''), lev + 1
      from cte
      where rest <> ''
     )
insert into t (c)
    select chr
    from cte
    where lev > 0;

这是一把小提琴。

相关问题