Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9

    [SQL] convertire data in Postgres

    ciao a tutti ho provato a cercare in giro ma non riesco a capire come convertire una data in un numero.

    provo ad esporre il problema

    ho una tabella "vendite" con i campi:

    codcli -> codice cliente in formato numerico
    data -> in formato YYYY-MM-DD
    importo -> importo in formato numerico
    mestot -> è il campo numerico che devo calcolarmi

    in mestot dovrei metterci un valore del tipo: ((2003-YYYY)*12)+MM , e dovrei farlo per tutti i record, ovviamente YYYY e MM si riferiscono alla data del record da aggiornare. (cioè se ho data = 2004-01-23 il mio mestot dovrà diventare 13

    avevo pensato di usare un udate ma non so come tirar fuori YYYY e MM dal campo data...

    posso anche crearmi dei campi anno e mese e poi calcolarmi mestot come (anno*12)+mese ma il problema è sempre lo stesso, non riesco a tirar furoi YYYY e MM dal campo data...

    qualcuno sa come fare?
    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    Puoi usare la funzione date_part()

    The date_part function is modeled on the traditional Ingres equivalent to the SQL-standard function extract:

    date_part('field', source) Note that here the field parameter needs to be a string value, not a name. The valid field names for date_part are the same as for extract.

    SELECT date_part('day', TIMESTAMP '2001-02-16 20:38:40');
    Result: 16


    Immagino sarà sufficiente utilizzare 'year' e 'month' ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9
    ma dice che deve essere una stringa... o sbaglio?

    forse mi sono spiegato male... la mia tabella vendite è già popolata (tranne il campo mestot)

    posso anche aggiungere 2 campi tipo anno e mese, ma poi con l'upldate non riesco ad inserire l'anno in "anno" e il mese in "mese"

    devo prendere il valore dal campo data ed inserirlo separatamente in anno e mese

  4. #4
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    Da quello che capisco il parametro "field" deve essere una stringa, quindi devi passare come stringa ciò che vuoi estrarre 'day','month','year', etc

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 © 2024 vBulletin Solutions, Inc. All rights reserved.