" 0.0"在SQLITE中将数字转换为文本时附加

时间:2017-06-28 13:10:33

标签: c# sql sqlite

使用以下投射查询将数字转换为我的应用程序中的文本。

从订单中选择CAST(Orderid as TEXT)

如果我运行这个我得到输出像 1234.0 1098.0

而不是这个,我需要得到像这样的结果 1234 1098

我尝试过以下查询。如果我使用以下查询,它将以数字格式而不是数据表中的字符串格式返回结果。

从订单中选择CAST(orderid为字符串)

如何通过查询实现这一目标?它也应该满足以下情况。

实际值
12345个
12345.234
12345.023

预期价值
12345个
12345.234
12345.023

将数字转换为文本时,请建议一种将结果作为字符串类型的方法 在Sqlite中。 提前致谢。

2 个答案:

答案 0 :(得分:3)

您可以检查删除小数位是否会更改值:

SELECT CAST(CASE WHEN CAST(orderid AS INTEGER) = orderid
                 THEN CAST(orderid AS INTEGER)
                 ELSE orderid
            END AS TEXT)
FROM orders;

答案 1 :(得分:2)

这可能有效:

SELECT CAST(orderid AS int) FROM orders