/ / Excel ne reconnaît pas la date de mysql comme date - mysql, sql, sql-server, excel, date

Excel ne reconnaît pas la date de mysql comme date - mysql, sql, sql-server, excel, date

J'ai mysql db lié au serveur SQL. Sur le serveur SQL, j'utilise une procédure avec DBCC TRACEON (8765) pour exécuter une requête mysql. Une des colonnes est Date_entered, renvoyant les valeurs au format iso AAAA-MM-JJ. Ensuite, dans Excel, je dispose d'une connexion de données pour exécuter cette procédure. Le problème est que Date_entered dans Excel, même s'il se présente sous le format AAAA-MM-JJ, n'est pas reconnu dans Excel en tant que date. La conséquence est que je ne peux pas grouper ce champ dans le tableau croisé dynamique. J'ai même essayé DATE_FORMAT dans MySQL, mais toujours pas de chance dans Excel.

Quelqu'un a une idée s'il vous plaît? Thx Petr

Réponses:

1 pour la réponse № 1

On dirait que Excel voit la valeur en tant quechaîne de texte. Il est possible que les espaces et les espaces ne les reconnaissent pas. Créez une nouvelle colonne et utilisez la fonction trim () pour supprimer les espaces de début et de fin. Ils essaient de reformater la date.

Sinon, vous pouvez simplement le forcer brutalement et analyser la chaîne pour l'année, le mois et le jour. En supposant que la date soit toujours dans le format que vous avez spécifié: AAAA-MM-JJ, essayez ceci:

=DATE(LEFT(TRIM(A1),4),MID(TRIM(A1),6,2),RIGHT(TRIM(A1),2))

(cela suppose que votre date est dans la cellule a1)


0 pour la réponse № 2

Vous pouvez ajouter une colonne et utiliser la formule = valeur () et l'affecter à la colonne Date_entered


0 pour la réponse № 3

La requête ci-dessous peut aider:

SELECT date_format(str_to_date("2014-10-24","%Y-%m-%d"), "%m/%d/%Y") as FormattedDate;

0 pour la réponse № 4

Finalement, j'ai résolu mon problème en modifiant la procédure sur le serveur SQL pour:

BEGIN
DBCC TRACEON(8765);
SELECT *,CAST(CAST(year(calldate) AS varchar) + "-" + CAST(month(calldate) AS    varchar) + "-" + CAST(day(calldate) AS varchar) AS DATETIME) as calldate2, datename(dw,calldate) as den

FROM OPENQUERY(SugarCRM, "SELECT * FROM crm.acm_ivr" );
END;

Cette partie du code "convertit" la date mysql calldate à ce jour reconnaissable par MS Excel calldate2:

CAST(CAST(year(calldate) AS varchar) + "-" + CAST(month(calldate) AS varchar) + "-" + CAST(day(calldate) AS varchar) AS DATETIME) as calldate2