SQLite3 ODBC 驱动程序 - Access / Excel 逗号而不是点

Posted

技术标签:

【中文标题】SQLite3 ODBC 驱动程序 - Access / Excel 逗号而不是点【英文标题】:SQLite3 ODBC driver - Access / Excel commas instead of dots 【发布时间】:2019-05-13 09:28:08 【问题描述】:

我在一个文件 (SQLite3) 中有一个数据库。 我使用以下方式创建连接:http://www.ch-werner.de/sqliteodbc/

我想将一些东西转移到 Access / Excel。连接到数据库时会出现此问题。在 SQLite 中,小数点分隔符是一个点,我所在的区域使用逗号。因此,带小数位的数字在单元格中显示为文本。如何解决? 在系统中它必须保持原样(逗号)。

【问题讨论】:

【参考方案1】:

我相信你可以使用:-

SELECT replace(the_column,'.',',') AS the_column FROM the_table;

示例

DROP TABLE IF EXISTS the_table;
CREATE TABLE IF NOT EXISTS the_table (the_column);
INSERT INTO the_table VALUES('100.450'),('200.560'),('300.670');
SELECT replace(the_column,'.',',') AS the_column FROM the_table;

结果:-

【讨论】:

这会有技术问题。我在所有表中有大约 500 列!有没有系统解决方案?关键是 Access 或 Excel 应该将这些点视为逗号。这是不可能的? SQLite数据库没问题,数字就是数字。 @Qlikeers 可能但 System 是模糊的,例如系统可以生成 SQL 语句;系统可以处理结果集并执行系统具有的任何字符串替换。从技术上讲,这不是真正的问题,除非您超出限制,例如 1000000 是 SQLite 中 SQL 语句的默认(可以调整)长度。 不知道大家是否理解。我可以使用 SQLite 数据库中的数据。很多列,包括带小数位的数字。我正在寻找一种方法,允许我从数据库(ODBC 驱动程序)导出数据,其中的小数位由逗号指定(不是点,这是默认值)。 @Qlikeers 如果您查看 SQL,前 3 行正在创建模拟数据以进行演示,最后一行是导出,结果显示句点(根据模拟数据)转换为逗号。即结果等于导出,因此句点更改为逗号。当然,如果反过来,那么只需将单引号中的逗号换成句点,反之亦然。 也许我尝试了不同的方式 - 如何将数据从 SQLite 连接到 Access (ODBC),将数字视为数字。因为 Access 将它们视为文本(通过小数点后的这些点)。 SQL 数据库中的数字默认使用点作为小数位,对吧?我在欧洲工作,那里的标准是逗号,而不是点。当我尝试将 SQLite 数据库中的数据连接到 Excel 或 Access 时,它们会带有点并自动转换为文本(应该是数字)。

以上是关于SQLite3 ODBC 驱动程序 - Access / Excel 逗号而不是点的主要内容,如果未能解决你的问题,请参考以下文章

ODBC 调用失败 - 错误 3151

SQLite 3 和 Odbc 数据源名称

成功移植SQLite3到ARM Linux开发板

delphi Sqlite

用于Azure B2C acces令牌的Exchange Facebook SDK acces令牌

Nuxt acces vuex store inside mixin