将动态值传递给mySQL函数

时间:2017-07-14 10:56:56

标签: mysql variables parameters truncate

假设我有一个值表,我想截断到不同的小数位。

如下面的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';

......确实有效。

如何使用带有动态参数值的内置函数?

0 个答案:

没有答案