MySQL从十进制转换为字符串

sup*_*er9 2 mysql casting

为什么CAST在此MySQL查询中不起作用?

SELECT  MAX(Signups) AS Max, 
        MIN(Signups) AS Min,
        CAST(ROUND(AVG(Signups),2) AS VARCHAR(3)) AS Avg
FROM
(
    SELECT COUNT(1) AS Signups,
    DATE_FORMAT(JoinDate, "%Y-%m-%d") AS Date
    FROM users
    GROUP BY Date
) z 
Run Code Online (Sandbox Code Playgroud)

为什么会出现此错误?

#1064 - You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near 
'VARCHAR(3)) AS Avg FROM ( ' at line 2
Run Code Online (Sandbox Code Playgroud)

Lig*_*ica 6

这可能是由于MySQL错误#34564:CAST不接受varchar type

尝试强制转换为其他类型,如下所示:

CAST(ROUND(AVG(Signups),2) AS CHAR(3)) AS Avg
Run Code Online (Sandbox Code Playgroud)