數(shù)據(jù)庫stuff函數(shù) FOR XML PATH(')),1,1,')這是什么意思?
FOR XML PATH(')),1,1,')這是什么意思?這個(gè)語句不完整。應(yīng)該是這樣:stuff(select "," fieldname from tablename for xml pat
FOR XML PATH(')),1,1,')這是什么意思?
這個(gè)語句不完整。應(yīng)該是這樣:
stuff(select "," fieldname from tablename for xml path("")),1,1,"")
這一整句的作用是將多行fieldname字段的內(nèi)容串聯(lián)起來,用逗號(hào)分隔。
例如表
fieldname
-----------
AAA
BBB
CCC
串聯(lián)之后就是字符串: AAA,BBB,CCC
for xml path是SQL Server 2005以后版本支持的一種生成XML的方式。具體如何使用,請(qǐng)參考聯(lián)機(jī)叢書。
stuff函數(shù)的作用是去掉字符串最前面的逗號(hào)分隔符。
sqlserver2000中如何使用xmlforpath來進(jìn)行字符串拼接?
sql server 2000不支持xml for path??梢杂昧硪粋€(gè)方法代替:declare @s varchar(8000)set @s = ""select @s = @s 字段 "," from tablename where ...set @s = stuff(@s,len(@s),1,"")變量@s的值就是串聯(lián)的字符串。
sqlserver的存儲(chǔ)過程字符串怎么拼接的?
你的問題,問的不是很清楚,你是想問,如果將查詢結(jié)果拼接為字符串嗎?
有兩種辦法,如果是拼接為一個(gè)字符串,可以用變量,如:
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