7

SQLite 是否存在类似于MySQL的TRUNCATE函数的东西?

SELECT TRUNCATE(1.999,1); # 1.9
4

3 回答 3

8

您可以通过转换为 int 并返回来以数字方式执行此操作:

select cast((val * 10) as int) / 10.0

您可以使用round()和减法执行此操作:

select round(val - 0.1/2, 1)

或者,正如另一个答案所暗示的,您可以转换为字符串。

于 2013-05-18T20:30:17.120 回答
5

没有内置函数可以直接执行此操作。但是,您可以将数字视为字符串,搜索小数点分隔符并从中计算字符数:

SELECT substr(1.999, 1, instr(1.999, '.') + 1);

(这不适用于整数。)

于 2013-05-18T20:17:39.023 回答
0

为整数工作:

SELECT substr(100 * 1.0, 1, instr(100 * 1.0, '.') + 1);
于 2019-10-14T14:40:45.497 回答