【问题标题】:Truncate not workng in MySQL截断在 MySQL 中不起作用
【发布时间】:2019-06-26 04:11:36
【问题描述】:

我猜在 MySQL 中截断值的正确方法是 truncate(value,limit);,但这似乎在这里不起作用,它需要一个额外的表名;

select truncate(94204.27348,2);

第 1 行出现错误:
ORA-00923: 在预期的地方找不到 FROM 关键字

【问题讨论】:

  • 你的意思是圆形的吗? SELECT ROUND(94204.27348, 2);?
  • 以 ORA 开头的错误号听起来像 oracle db 而不是 MySQL?!
  • 如果这真的是Oracle,你需要FROM dual。此外,PL/SQL 中似乎没有 TRUNCATE 函数

标签: sql oracle truncated


【解决方案1】:

假设您使用的是 Oracle,您必须在选择查询中提供表引用。

Oracle 选择查询总是需要一个表引用

你可以这样做......

Select truncate(94204.27348,2)  -- see further comment below
From dual
;

Dual 是一个允许此类查询的特殊表。

另外,我认为您可能想使用TRUNC 函数。

正如其他人指出的那样,TRUNCATE 查询并不完全相同,它会删除您提供的表的内容。

【讨论】:

    【解决方案2】:

    在Mysql中你应该使用roundTruncating table 将从表中删除数据并重置所有自动增量值。

    SELECT ROUND(94204.27348,2);
    

    结果 - 94204.27

    这将对值进行四舍五入并仅显示两位小数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      • 2016-12-13
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多