本文介绍了为什么Round或Truncate函数不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 大家好, i在SQL中截断或舍入数据时遇到问题。 如果我舍入或截断这样的数据:Round(1.456,2)或Round( 1.456,0)或截断(1.456,2)... - 一切都很好。 但是b $ 假设我有两个SQL一个用于测量单位,另一个用于存储。 测量表值 | id | measure | show_decimals( INT ( 1 ))| - -------------------- ------------------------ | 1 |单位| 0 | | 2 | kilo | 3 | | 3 |米| 2 | 商店桌面值 | id | item | measurement_id | count_left_in_store( DECIMAL ( 16 , 6 ))| - -------------------- -------------------------------------------------- ---------------------- | 1 | pencil | 1 | 987。 000000 (只是 987 单位 铅笔)| SO 如果我使用这样的SQL查询: SELECT TRUNCATE (s.count_left_in_store, m.show_decimals) as UnitsLeft FROM store s 上的代码关键字> JOIN measurement m m.id = s.measurement_id WHERE s.id = 1 ; 它仍然给了我987.000000 UnitsLeft而不仅仅是987 UnitsLeft。 我尝试过Truncate,Round,Floor函数 - 没有什么是相同的。 一切正常,然后我写Truncate(987.000000,0)或Truncate(s.count_left_in_store,0),但不适用于TRUNCATE(s.count_left_in_store,m.show_decimals) 为什么我不能在截断,圆形,楼层和其他数学函数中使用其他表格列值作为小数参数? 任何人都可以帮我吗?解决方案 Hi everyone,i have a problem truncating or rounding data in SQL.If i round or truncate data like this: Round(1.456, 2) or Round(1.456, 0) or Truncate(1.456, 2)... - everything is fine.BUTlets say i have two SQL tables one for units of measurement and the other one is store.measurement table values|id |measure |show_decimals (INT(1))|----------------------------------------------|1 |unit |0 ||2 |kilo |3 ||3 |meter |2 |store table values|id |item |measurement_id |count_left_in_store (DECIMAL(16,6)) |----------------------------------------------------------------------------------------------|1 |pencil |1 |987.000000 (its just simply 987 units of pencils) |SO if i am using sql query like this:SELECT TRUNCATE(s.count_left_in_store, m.show_decimals) as UnitsLeftFROM store sJOIN measurement m on m.id = s.measurement_idWHERE s.id = 1; it still gives me 987.000000 UnitsLeft instead of just 987 UnitsLeft.I tried Truncate, Round, Floor functions - nothing still the same.Everything works fine then i write Truncate(987.000000, 0) or Truncate(s.count_left_in_store, 0), but doesn't work with TRUNCATE(s.count_left_in_store, m.show_decimals) Why i can't use other table column value as a decimal parameter in Truncate, Round, Floor and other math functions?Can anyone help me out right there? 解决方案 这篇关于为什么Round或Truncate函数不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
10-12 22:20