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

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

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

【问题讨论】:

    标签: excel sqlite ms-access odbc


    【解决方案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 时,它们会带有点并自动转换为文本(应该是数字)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多