5 Stimmen

MySQL-Casting von Dezimal in String

Warum ist die CAST in dieser MySQL-Abfrage funktionieren?

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 

Warum erhalte ich diese Fehlermeldung?

#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

9voto

Lightness Races in Orbit Punkte 367630

Dies kann zurückzuführen sein auf MySQL-Fehler #34564: CAST akzeptiert den Typ varchar nicht .

Versuchen Sie, einen anderen Typ zu wählen, etwa so:

CAST(ROUND(AVG(Signups),2) AS CHAR(3)) AS Avg

1voto

super9 Punkte 27533

Ändern von VARCHAR a CHAR löst das Problem

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X