我已经继承了这一行代码。通常,我希望在As之后发生的事情是一个别名。但是,我从未在方括号中看到别名。另外,我不确定text()中的含义是什么?文本是过时的数据类型吗?有人可以给我发送任何链接,以便我弄清楚这意味着什么吗?
谢谢。
的[text()]别名通常在使用XML查询只能从一列中的值成为一个元素中的文本的输出:
DECLARE @Table TABLE (FieldText varchar(10))
INSERT INTO @Table VALUES ('some text'), ('more text')
SELECT FieldText
FROM @Table
FOR XML PATH('RECORD'), ROOT('ROOT'), TYPE
--<ROOT>
-- <RECORD>
-- <FieldText>some text</FieldText>
-- </RECORD>
-- <RECORD>
-- <FieldText>more text</FieldText>
-- </RECORD>
--</ROOT>
SELECT FieldText as [text()]
FROM @Table
FOR XML PATH('RECORD'), ROOT('ROOT'), TYPE
--<ROOT>
-- <RECORD>some text</RECORD>
-- <RECORD>more text</RECORD>
--</ROOT>
Run Code Online (Sandbox Code Playgroud)