假设我有一个值表,我想截断到不同的小数位。
如下面的tblmetrics
int cmp_dates_descend(const void *d1, const void *d2)
{
struct tm date_1 = *(const struct tm *)d1;
struct tm date_2 = *(const struct tm *)d2;
double d = difftime(mktime(&date_1), mktime(&date_2));
return (d < 0) - (d > 0);
}
+------+---------+---------+---- -------+
| id | metric | value | places |
+------+---------+---------+------------+
| 1 | salary | 12.345 | 3 |
+------+---------+---------+------------+
| 2 | age | 25.000 | 0 |
+------+---------+---------+------------+
| 3 | height | 124.100 | 1 |
+------+---------+---------+------------+
将导致
select id,metric truncate(value,places) from tblmetrics;
即。没有截断。我希望值为
ID,公制,值
1,工资,12.345
2,年龄25
3,高度,124.1
如果我声明一个变量并将其用作截断
的参数设置@ num_places = 1;
......这也无济于事。
然而
设置@ num_places ='1';
......确实有效。
如何使用带有动态参数值的内置函数?