Tsql 选择测试作为[text()]

Tsql 选择测试作为[text()],tsql,Tsql,我继承了这行代码。通常,我认为As之后发生的事情是一个别名。然而,我从未见过方括号中的别名。另外,我不确定文本中的paren表示什么?文本是过时的数据类型吗?有没有人可以给我发链接,让我知道这意味着什么 多谢各位 然而,我从未见过方括号中的别名 如果您试图使用关键字/reserveword作为别名,或者如果您试图使用在它们之间有空格的名称(如我的特殊别名),则可能是 使用As[text]在我看来有点奇怪。不,它没有任何意义。别名只是文本文字,以便更好地读取名称,但我建议使用适当的名称,这样可以提

我继承了这行代码。通常,我认为As之后发生的事情是一个别名。然而,我从未见过方括号中的别名。另外,我不确定文本中的paren表示什么?文本是过时的数据类型吗?有没有人可以给我发链接,让我知道这意味着什么

多谢各位

然而,我从未见过方括号中的别名

如果您试图使用关键字/reserveword作为别名,或者如果您试图使用在它们之间有空格的名称(如我的特殊别名),则可能是


使用As[text]在我看来有点奇怪。不,它没有任何意义。别名只是文本文字,以便更好地读取名称,但我建议使用适当的名称,这样可以提高可读性,否则使用别名就没有意义了

对于字段名来说,这有点奇怪,但括号并不是什么新鲜事

Declare @Table table (test varchar(25))
Insert into @Table values ('Some Value')

Select Test as [text()] From @Table
返回

text()
Some Value

Use可以将括号用于非标准字段名,即方括号中的查询中的[Total Sales]

Microsoft SQL Server formats Alias'

XML查询中经常使用[text]别名,以使列中的值成为元素中的文本输出:

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>

你考虑文件了吗?没见过吗?这是在别名中添加空格的方式。你是否考虑过这个声明,看看会发生什么?