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

    [MYSQL] sostituire testo standard in numerosi campi

    Salve a tutti, ho un problema su un grosso database, con più di 65000 records,
    ho un campo che riporta la data sbagliata, per intenderci mette 1900 invece di 2000, il database era stato fatto con il vecchio DB III.
    Ora io dovrei sistemare tutti questi record nel campo trasformando tutti i 1900 in 2000, tutti i 1901 in 2001, ecc..
    Premetto che il campo è in formato testo, NON data, e mi va abbastanza bene così, il metodo di inserimento dei dati nel campo è così:
    10/01/1906
    Posso usare il comando STR_REPLACE?
    Ma come posso implementare un comando che mi faccia il controllo di tutto il Database e mi sostituisca le date incriminate?
    Premetto che non sono molto esperto, ma questo si sarà già capito.
    Grazie a chi mi risponderà.
    Fare....o NON fare...non c'è tentare!
    YODA

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao. L'unica soluzione (molto rozza) che mi viene in mente è questa:

    update tabella set datatesto =
    concat(substring(datatesto,1,6),substring(datatest o,7,4)+100)
    where substring(datatesto,7,4) <= ultimo_anno_che_vuoi_incrementare_di_100;

    essendo in formato testo non credo che sia possibile applicare nessuna delle funzioni relative alle date per l'aggiunta di periodi.

    Fatti prima una copia del tuo db e prova se funziona.

    edit: nel caso dovessi risolvere potresti poi aggiungere al tuo db un campo in formato data per memorizzare le date nel formato corretto facendo così:

    Supponendo che il tuo nuovo campo si chiami formatodata

    UPDATE tabella SET formatodata =
    CONCAT_WS('-', SUBSTRING(datatesto,7,4), SUBSTRING(datatesto,4,2), SUBSTRING(datatesto,1,2))

  3. #3

    Ci provo!

    OK
    Gentilissimo, grazie!
    adesso ci provo.
    Ti faccio sapere se funziona.
    Fare....o NON fare...non c'è tentare!
    YODA

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.