使用游标和表变量的SQL查询

时间:2018-11-27 12:33:40

标签: sql sql-server tsql

输入表中有数据,结果表应从输入表中读取所有数据,并检查“名称”列的长度,并在结果表中打印<= 5的长度

enter image description here enter image description here

请问您可以建议使用循环(如果不是这样的话)...像使用条件<= 5读取数据一样,通过将其存储在临时表变量中的insert语句,以及使用final select语句,我们将获得输出。 .. plz帮助

2 个答案:

答案 0 :(得分:2)

只需将LEN()函数与case表达式一起使用:

select t.id,
       (case when len(name) <= 5 
             then concat(name, '_', len(name)) 
             else name 
        end) as name,
       age
from table t

答案 1 :(得分:0)

您可能想在下面尝试-

    insert into Output_table(id,Name,Age)
    select i.id,
    (case when LEN(Name)<=5 then name+'_'+ CONVERT(varchar(2),LEN(Name))
    else Name
    end) as Name,
    i.age
    from input_table i