簡體   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