【问题标题】:Truncate function for SQLiteSQLite 的截断函数
【发布时间】:2013-05-18 19:39:29
【问题描述】:

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

SELECT TRUNCATE(1.999,1); # 1.9

【问题讨论】:

    标签: sql sqlite truncate


    【解决方案1】:

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

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

    您可以使用round() 和减法来做到这一点:

    select round(val - 0.1/2, 1)
    

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

    【讨论】:

      【解决方案2】:

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

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

      (这不适用于整数。)

      【讨论】:

        【解决方案3】:

        为整数工作:

        SELECT substr(100 * 1.0, 1, instr(100 * 1.0, '.') + 1);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-12-04
          • 2011-07-22
          • 2023-03-12
          • 1970-01-01
          • 1970-01-01
          • 2018-06-29
          • 2011-01-27
          • 2020-09-01
          相关资源
          最近更新 更多