如何在数字中插入小数

Posted

技术标签:

【中文标题】如何在数字中插入小数【英文标题】:How can I insert decimals into a number 【发布时间】:2019-12-07 23:06:27 【问题描述】:

我有一个从 Oracle 导出的数据库文件。我正在使用 SQLite 命令行将 DB 文件中的表转换为 CSV,这样我就可以将数据导入 MSSQL。我的问题是我需要的表格有一个字段的数字,格式为 3454336,我需要它们的格式为 3454.336。创建 CSV 时,我基本上需要在最后三位数字之前插入一个小数。如果有更好的方法可以自动获取 CSV,我愿意接受,因为我知道 SQLLite 命令行的功能有限。

sqlite3.exe -csv d:\temp\hourly-export.db "SELECT * FROM status" > d:\temp\status.csv

【问题讨论】:

你知道最后 3 位数字总是小数吗?您可以在 SQL Server 中导入数据(到 DECIMAL(18, 3) 列),然后将数字除以 1000。 您应该明确命名列而不是 *。然后对于数字列,您只需除以 1000。 它总是很简单!在 SQL 中或使用 CFML 对页面进行编程时,我可以轻松地除以 1000。谢谢。 列的类型是什么?是数字还是字符串? 如何标记最佳答案? 【参考方案1】:

在 SQLite 中,您可以通过拆分和插入点来实现:

select substr(colname, 1, length(colname) - 3) || '.' || substr(colname, -3) from status

【讨论】:

这非常有效,让我不必在事后使用代码进行格式化。谢谢!

以上是关于如何在数字中插入小数的主要内容,如果未能解决你的问题,请参考以下文章

如何在Oracle数据库中保留小数点后两位 而且在java中保留两位插入到数据表中

Oracle数据库中的如何保留两位小数 并且在java中保留两位小说插入数据表中

如何在excel中保留小数点后两位

在sql中插入小数会导致插入零数字而不是接近零的小数

怎么让产生有小数点数据自动变成进一位的整数,不管小数点后面是多少,都进一位

在EXCEL中,如何取小数点前和小数点后的数字