Bè puoi usare la substring con il replace del valore / con il -.
Bè puoi usare la substring con il replace del valore / con il -.
Ma intendi sempre con istruzione Sql?Originariamente inviato da diegogvm
Bè puoi usare la substring con il replace del valore / con il -.
Si
select replace(substring (campo, pos1, pos2) || substring (campo, pos1, pos2) || substring (campo, pos1, pos2), '/', '-')
Una cosa del genere.. non è la soluzione più logica ma è un alternativa.
Studiati la sintassi della substring.
Grazie Diego per questo ultimo tuo intervento.
Con una tabella simile:
TIME
---------------------------
| ID - DATA - TIMEUNIX |
| 1 - 20/12/2011 - null |
| 2 - 13/05/2012 - null |
| 3 - 16/05/2012 - null |
--------------------------
Se effettuo questa query:
"SELECT REPLACE(SUBSTR(DATA, 1, 10), '/', '-') FROM TIME";
mi restituisce effettivamente i 3 record
20-12-2011
13-05-2012
16-05-2012
Ma quando provo a farla come me l'hai postata tu con il simbolo || (per concatenare i 3 pezzi)
e quindi con una query simile:
"SELECT REPLACE(SUBSTR(DATA, 1, 2) || SUBSTR(DATA, 4, 2) || SUBSTR(DATA, 7, 4), '/', '-') FROM TIME";
mi restituisce
1
1
1
Come mai?
Grazie
Non sò che DB stai usando.
Prima prova a invertire solo i campi senza il replace. Per la concatenazione del dato devi vedere il db su cui stai lavorando. Per intenderci ti consiglio di effettuare una substring solo dell'anno , una solo del mese e una del giorno ordinarli con l'ordine diverso e fare per ultimo la replace.
Spero di esserti stato d'aiuto.
Sto provando sullo spazio di Aruba, quindi MySQL 5.1
Sinceramente non so come fare prima una le 3 substring e poi fare un unico replace.
Come posso fare?
Mi dispiace purtroppo non uso mysql. Devi studiarti bene come si fà la concatenazione.
Cmq la substring con replace è la strada migliore in questi casi.
Ho trovato un altra soluzione vedendo questa pagina:
http://database.html.it/articoli/leg...e-soluzioni/3/
"SELECT CONCAT(SUBSTR(DATA, 7, 4),"-", SUBSTR(DATA, 4, 2),"-",SUBSTR(DATA, 1, 2) ) FROM TIME"
E se invece ora volessi trasformare dei dati in formato TIMEUNIX sempre attraverso una Query?
Una sorta di mktime con php però per una query?
Grazie
Credo devi usare una convert o comunque una conversione del valore del campo.
In mysql non sò quale sia.
Spero cmq di averti indirizzato sulla strada giusta!!
In SYBASE la concatenazione si fà con || :-)