Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Dividere (split) contenuto colonna senza avere un carattere separatore

    Buongiorno,

    lavoro su un database MySQL, ho il campo "data" di una tabella che contiene sia la data che l'ora di un evento, in questo modo: 196912312058


    I primi 4 caratteri sono per l'anno: 1969
    I caratteri 5 e 6 sono per il mese: 12
    I caratteri 7 e 8 per il giorno: 31

    Gli ultimi quattro per l'orario: 20:58

    Avrei bisogno di suddividere questo campo "data" in due ulteriori campi contententi uno solo la data e l'altro l'orario.
    Purtroppo con il subrstring_index non posso farlo perchè non ho valori che posso usare come "separatori".

    Avete qualche idea su come possa fare?

    Vi ringrazio per l'attenzione.




  2. #2
    Uhm.., non potresti usare la funzione di mySql che effettua il substring dando campo, posizione iniziale e posizione finale?
    Leggendo la documentazione è SUBSTRING($stringa,$pos_iniziale,$pos_finale) . Dovrai giocare un po' con padding, concatenazione ed eventualmente casting. Mi sono trovato a farlo per SQL Server e Postgre ma non dovrebbe essere un problema per MySQL

    EDIT: giusto, mySql è quella bestia strana che non ha un carattere per concatenare stringhe. Dovrai usare diversi CONCAT annidati per avere qualcosa di utilizzabile, oppure ti scrivi una piccola FUNCTION o STORED PROCEDURE per rendere il codice più leggibile
    Ultima modifica di LuciferSam86; 02-12-2015 a 21:39

  3. #3
    CONCAT(SUBSTRING(data,7,2), SUBSTRING(data,5,2), SUBSTRING(data,1,4)) per la data
    CONCAT(SUBSTRING(data,9,2), SUBSTRING(data,11,2)) per l'orario

  4. #4
    Quote Originariamente inviata da optime Visualizza il messaggio
    CONCAT(SUBSTRING(data,7,2), SUBSTRING(data,5,2), SUBSTRING(data,1,4)) per la data
    CONCAT(SUBSTRING(data,9,2), SUBSTRING(data,11,2)) per l'orario
    Grazie mille a entrambi, ho fatto esattamente così e funziona!

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.