繁体   English   中英

如何用标头中列的重音名称对这个excel表进行SQL查询?

[英]How to SQL-query this excel table with accented names of the columns in header?

摘要:使用Jet.OLEDB提供程序和SQL查询,我无法从Excel表中提取某些列。 原因可能是标题文本包含一些重音字符。 可以从技术上参考这些列吗? 诸如KC12列之类的东西,而不是使用标题的文本...

详细信息:实际上,可以从http://www.sukl.cz/file/80129_1_1下载特定的Excel文档-文档名称为DistribuceLP_2015_01.xls (请参阅后面的说明)。 它包含一些要下载和提取的公共可用统计信息。

下载并保存文件后,我确实提取了一些没有问题的列;

我有一个使用连接字符串,目标目录和一系列SQL命令+目标表名称的工具。 它使用提取的内容生成简单的旧DBF表。 带有转换说明的文本文件如下所示-因此您可以看到连接字符串和SELECT查询。 工作表已重命名以测试到A

connection:Provider=Microsoft.Jet.OLEDB.4.0;Data source=d:\download\DistribuceLP_2015_01.xls;Extended Properties="Excel 8.0;HDR=Yes;"
outputdir:.
----------------
test
SELECT
  [Období] AS obdo,
  [Typ odběratele] AS typodb, 
  ATC7,
  [Kód SÚKL] AS kodsukl,
  [Název přípravku] AS nazev,
  [Doplněk názvu] AS baleni,
  [Držitel registračního rozhodnutí] AS drr,
  [Země] AS zeme,
  [Typ pohybu] AS pohyb,
  [Počet balení/M] AS pocbal,
  [Cena za balení bez obch. přirážky a DPH] AS cenabal,                -- !!!
  [Celkem finance za všechna balení bez obch. přirážky a DPH] AS cena, -- !!!
  [Počet definovaných denních dávek/balení] AS dendavek,
  [Počet denních definovaných dávek/balení celkem] AS davek,
  [Způsob výdeje] AS vydej
FROM [A$]

它几乎可以工作。 如果我删除以-- !!!标记的行 ,提取效果很好。 两条标记的线会导致错误。 我怀疑带重音的字母ř或文字中的

您是否有类似案件的经验?

我认为您需要使用对重音不敏感的归类,因为您的归类设置在目标数据库中可能会有所不同:

SELECT
  [Období] COLLATE Latin1_general_CI_AI AS obdo,
  [Typ odběratele] COLLATE Latin1_general_CI_AI AS typodb, 
  ATC7,
  [Kód SÚKL] COLLATE Latin1_general_CI_AI AS kodsukl,
  [Název přípravku] COLLATE Latin1_general_CI_AI AS nazev,
  [Doplněk názvu] COLLATE Latin1_general_CI_AI AS baleni,
  [Držitel registračního rozhodnutí] COLLATE Latin1_general_CI_AI AS drr,
  [Země] COLLATE Latin1_general_CI_AI AS zeme,
  [Typ pohybu] AS pohyb,
  [Počet balení/M]  COLLATE Latin1_general_CI_AI AS pocbal,
  [Cena za balení bez obch. přirážky a DPH] COLLATE Latin1_general_CI_AI AS cenabal,                -- !!!
  [Celkem finance za všechna balení bez obch. přirážky a DPH] COLLATE Latin1_general_CI_AI AS cena, -- !!!
  [Počet definovaných denních dávek/balení] COLLATE Latin1_general_CI_AI AS dendavek,
  [Počet denních definovaných dávek/balení celkem] COLLATE Latin1_general_CI_AI AS davek,
  [Způsob výdeje] COLLATE Latin1_general_CI_AI AS vydej
FROM [A$]

暂无
暂无

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

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