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

2021-09-10 00:00:00 sql tsql sql-server

输入表有数据,结果表读取输入表的所有数据,检查Name列的长度,打印结果表中<=5的长度

Input table is having data and result table should read all the data from input table and check the length of Name column and should print the length which is <=5 in result table

在此处输入图片说明在此处输入图片描述

你能否建议使用循环(IF else)......比如使用条件读取数据,即<=5,并通过插入语句将其存储在临时表变量中,并通过使用最终选择语句我们得到输出...请帮忙

can you please suggest using loops (IF else) ...like reading the data using conditions i.e. <=5, and by insert statement storing it in a temporary table variable and by using final select statement we are getting the output... plz help

推荐答案

只需使用 LEN() 函数和 case 表达式:

Just use LEN() function with case expression :

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

相关文章