为整个mysql查询设置ROUND()函数

xxe27gdn  于 2023-02-07  发布在  Mysql
关注(0)|答案(1)|浏览(125)

有没有办法在MYSQL中对整个select语句应用ROUND函数,而不是对每一列都使用它?
我希望避免重复ROUND

SELECT
  ROUND(col_1,2),
  ROUND(col_2, 2),
  ROUND(col_3,2)
FROM
  TABLE_NAME

在文档中找不到任何相关内容。

qkf9rpyu

qkf9rpyu1#

如果你想避免代码中的重复,这里有一个100列的技巧:

SET @q = 'SELECT ';
SET @i = 0;
WHILE @i < 100 DO
   SET @q = CONCAT(@q, 'ROUND(col_',@i,',2), ');
   SET @i = @i + 1;
END WHILE;
SET @q = CONCAT(SubStr(@q, 1, LENGTH(@q) - 2),' FROM TABLE_NAME');    
PREPARE stmt FROM @q;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

你需要把它放在一个程序上,然后调用它。

相关问题