SQLServer FOR XML PATH使用案例

有一张城市表:

SELECT DISTINCT province,
	STUFF
	(
		(
			SELECT ','+city 
			FROM #T_city B 
			WHERE B.province=A.province 
			FOR XML PATH('') 
		),1,1,''
	)city 
FROM #T_city A

实现结果:

总结:

        基本语法就是 SELECT COLNUM FROM TABLE FOR XML PATH(''),将某一列的值在一行显示出来,如果PATH里面的参数不是空,将会形成XML标签的形式:SELECT province,city FROM #T_city FOR XML PATH('Title')


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XML 文件上传到 SQL Server 有几种方法,以下是其中两种: 1. 使用 SQL Server Management Studio (SSMS) 导入向导: - 在 SSMS 中打开目标数据库,并右键单击该数据库,在弹出的上下文菜单中选择“Tasks” > “Import Data”。 - 在“Welcome to the SQL Server Import and Export Wizard” 对话框中,单击“Next”。 - 在“Choose a Data Source” 对话框中,选择“XML File” 作为源文件类型,并指定要上传的 XML 文件。 - 在“Choose a Destination” 对话框中,选择“SQL Server Native Client” 作为目标数据源,并指定要上传到的 SQL Server 实例和目标数据库。 - 在“Specify Table Copy or Query” 对话框中,选择“Copy data from one or more tables or views” 并选择目标表。 - 在“Save and Run Package” 对话框中,确认导入设置并单击“Finish” 开始导入。 2. 使用 OPENROWSET 函数: - 在 SQL Server Management Studio 中打开一个新查询窗口。 - 使用以下语法调用 OPENROWSET 函数: ``` INSERT INTO destination_table (column1, column2, ..., columnN) SELECT xml_column.value('(/root/element1)[1]','varchar(50)'), xml_column.value('(/root/element2)[1]','int'), ..., xml_column.value('(/root/elementN)[1]','datetime') FROM OPENROWSET(BULK 'C:\path\to\xmlfile.xml', SINGLE_BLOB) AS x(xml_column) ``` 其中,`destination_table` 是要上传到的目标表,`column1` 到 `columnN` 是目标表中的列名,`(/root/element1)` 到 `(/root/elementN)` 是 XML 文件中的元素路径,可以根据需要修改。`'C:\path\to\xmlfile.xml'` 是 XML 文件的路径,可以根据实际情况修改。 这些方法都有其优缺点和适用场景,具体选择哪种方法取决于你的需求和环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值