/ / Excel non riconosce la data da mysql come data - mysql, sql, sql-server, excel, data

Excel non riconosce la data da mysql come data - mysql, sql, sql-server, excel, data

Ho mysql db collegato al server SQL. Sul server SQL sto usando la procedura con DBCC TRACEON (8765) per eseguire query mysql. Una delle colonne è Date_entered, restituendo i valori in formato ISO YYYY-MM-DD. Quindi in Excel ho una connessione dati per eseguire questa procedura. Il problema è che Date_entered in Excel, anche se è nel formato AAAA-MM-GG non è riconosciuto in Excel come data. La conseguenza è che non posso raggruppare questo campo nella tabella pivot. Ho anche provato DATE_FORMAT in mysql, ma ancora senza fortuna in Excel.

Qualcuno ha un'idea per favore? Thx Petr

risposte:

1 per risposta № 1

Sembra che Excel stia vedendo il valore come astringa di testo È possibile che lo spazio bianco iniziale stia facendo sì che Excel non riconosca la data: crea una nuova colonna e usa la funzione trim () per rimuovere gli spazi iniziali e finali, tentano di riformattare la data.

In alternativa, puoi solo forzare la forza e analizzare la stringa per l'anno, il mese e il giorno. Supponendo che la data sia sempre nel formato che hai specificato: AAAA-MM-GG, prova questo:

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

(questo presuppone che la tua data sia nella cella a1)


0 per risposta № 2

Puoi aggiungere una colonna e usare la formula = value () e assegnarla alla colonna Date_entered


0 per risposta № 3

Sotto la query mysql potrebbe aiutare:

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

0 per risposta № 4

Alla fine ho risolto il mio problema modificando la procedura su SQL server per:

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;

Questa particolare parte del codice "converte" la data mysql calldate fino ad oggi riconoscibile da MS Excel calldate2:

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