EXCEL ファイルに含まれる一部のデータの変換に取り組んでおり、これを行うために OPENROWSET を使用しています。型構文でデータを取得できますselect *
が、結果に列名が返されません。この場合、結果は、使用したい、または一時テーブルまたは変数に配置したい 1 つの単純な値です。
ただし、この値は最後の select ステートメントで NULL として返されます。ここで何が欠けていますか?OLEDB 呼び出しの SQL 構文は正しいですか (制限されているようです)?
declare @catalog_ID nvarchar(100);
set @catalog_ID = (select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=yes;Database=D:\[my-worksheet].xlsx','SELECT * FROM [ru_RU$a3:b3]') )
select @catalog_ID;