STUFF()先删除后插入
--在 'abcdef'中删除从第 2 个位置(字符 b)开始的3个字符,
--然后在删除的起始位置插入'插入的',创建并返回一个字符串。
SELECT STUFF('abcdef', 2, 3, '插入的');
--字段前拼接,然后用stuff()函数去掉第一个,插入''
select stuff((select ',' + 姓名 from 学生表 for xml path('')),1,1,'')
还是出错
SELECT * FROM 成绩
PIVOT(
MAX(分数)
FOR 课程 IN (SELECT STUFF((SELECT DISTINCT ','+课程 FROM 成绩 FOR XML PATH('')), 1, 1, ''))
) as t;
附建表语句
--创建表\
CREATE TABLE 成绩(
姓名 NVARCHAR(128),
课程 NVARCHAR(128),
分数 INT
);
--插入值
INSERT INTO 成绩 VALUES('刘五', '语文', 74);
INSERT INTO 成绩 VALUES('刘五', '数学', 83);
INSERT INTO 成绩 VALUES('刘五', '物理', 63);
INSERT INTO 成绩 VALUES('李四', '语文', 74);
INSERT INTO 成绩 VALUES('李四', '数学', 84);
INSERT INTO 成绩 VALUES('李四', '物理', 94);