如何在 t-sql stuff 函数中的每个第二个循环后插入一个换行符

how to insert a line break after every second loop in t-sql stuff function

如何在查询中的 t-sql stuff 函数的每个第二个循环后插入一个 CHAR(10)

  SELECT  STUFF(
                (
                    SELECT  ', ' + new_name 
                   FROM new_subcatagories
                   FOR XML PATH(''), TYPE
                ).value('.', 'VARCHAR(MAX)'), 1, 2, '')

所以结果应该是

记录1,记录2,

记录3,记录4

您可以使用 CASE 表达式来查看 ROW_NUMBER 的值是否可以被 2 整除,如果不能,则添加回车符 return 和换行符:

SELECT STUFF((SELECT CASE WHEN ROW_NUMBER() OVER (order by new_nam) % 2 = 1 THEN CHAR(13) + CHAR(10) ELSE '' END + ', ' + new_nam
              FROM new_subcatagories
              ORDER BY new_nam
              FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 4, '');