数据库stuff函数 FOR XML PATH(')),1,1,')这是什么意思?
FOR XML PATH(')),1,1,')这是什么意思?
这个语句不完整。应该是这样:
stuff(select "," fieldname from tablename for xml path("")),1,1,"")
这一整句的作用是将多行fieldname字段的内容串联起来,用逗号分隔。
例如表
fieldname
-----------
AAA
BBB
CCC
串联之后就是字符串: AAA,BBB,CCC
for xml path是SQL Server 2005以后版本支持的一种生成XML的方式。具体如何使用,请参考联机丛书。
stuff函数的作用是去掉字符串最前面的逗号分隔符。
sqlserver2000中如何使用xmlforpath来进行字符串拼接?
sql server 2000不支持xml for path。可以用另一个方法代替:declare @s varchar(8000)set @s = ""select @s = @s 字段 "," from tablename where ...set @s = stuff(@s,len(@s),1,"")变量@s的值就是串联的字符串。
sqlserver的存储过程字符串怎么拼接的?
你的问题,问的不是很清楚,你是想问,如果将查询结果拼接为字符串吗?
有两种办法,如果是拼接为一个字符串,可以用变量,如:
DECLARE @Names VARCHAR(MAX)SELECT @Names=ISNULL(@Names ",","") t.name FROM sys.tables AS tSELECT @Names--返回:spt_fallback_db,spt_fallback_dev,spt_fallback_usg,spt_monitor,MSreplication_options
如果是用SQL中,可以用xml path如:
SELECT STUFF((SELECT "," t.name FROM sys.tables AS t FOR XML PATH("")),1,1,"")--返回spt_fallback_db,spt_fallback_dev,spt_fallback_usg,spt_monitor,MSreplication_options
数据库stuff函数 forxmlpath用法 sql里exists子查询
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。