繁体   English   中英

在SQL Server中串联

[英]Concatenate in SQL Server

我在SQL中有以下代码

DECLARE c CURSOR FOR select  MSISDN FROM
OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=' + @Path + ';HDR=YES', 'SELECT MSISDN FROM [sheet1$]')

我想串联数据库中的路径,但是串联不起作用,知道吗?

您不能在OPENROWSET进行字符串连接-该命令需要字符串文字。 我最近有一个项目正在工作,该项目正在转换一些使用OPENROWSET的旧SQL并遇到该问题。

解决此问题的一种方法是使用OPENROWSET将数据转储到表变量中,然后从表变量中声明光标。 像这样的东西(未经测试):

DECLARE @data AS TABLE(MSISDN VARCHAR(255))

DECLARE @sql AS VARCHAR(4000)

SET @sql = 'SELECT MSISDN FROM '
SET @sql = @sql + ' OPENROWSET(''Microsoft.ACE.OLEDB.12.0'','
SET @sql = @sql + '''Excel 12.0;Database=' + @Path + ';HDR=YES'','
SET @sql = @sql + '''SELECT MSISDN FROM [sheet1$]'')'

INSERT INTO @data
EXECUTE sp_executesql @sql

DECLARE c CURSOR FOR SELECT MSISDN FROM @data

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM