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

    da una stringa alfanumerica etrarre i numeri?

    Ciao a tutti ho un database SQL dove all'interno ho delle date in formato VarChar

    DATA INSERIMENTO: 10/06/2001
    DATA CONSEGNA: 12/06/2001

    io vorrei estrarre i numeri dalle barre e fare la sotrazione perchè mi serve quanti giorni
    ci ho meso per fare questa cosa.. cioè il risultato della sotrazione tra la prima data e la seconda.

    grazie
    Fabio

  2. #2

    Re: da una stringa alfanumerica etrarre i numeri?

    Originariamente inviato da fabionet31
    Ciao a tutti ho un database SQL dove all'interno ho delle date in formato VarChar

    DATA INSERIMENTO: 10/06/2001
    DATA CONSEGNA: 12/06/2001

    io vorrei estrarre i numeri dalle barre e fare la sotrazione perchè mi serve quanti giorni
    ci ho meso per fare questa cosa.. cioè il risultato della sotrazione tra la prima data e la seconda.

    grazie
    Fabio
    Non ti conviene convertire i due campi in data e fare la differenza tra date direttamente nella query?
    In questo modo ti estrai già la differenza:

    http://msdn.microsoft.com/en-us/library/aa226054(v=sql.80).aspx

    http://msdn.microsoft.com/it-it/library/ms189794.aspx
    xxx

  3. #3
    per fare la sotTrazione usa la funzione DateDiff; dovrebbe essere già ok con le date così, altrimenti girale in AAAA/MM/DD (o AAAA/DD/MM)

  4. #4
    grazie ci provo, ho trovato una comoda sinistassi esempio qui:
    http://www.vbscript.it/Pillole/Pillola.asp?IDPillola=40

  5. #5
    problema.. se faccio

    <%
    d_diff=DateDiff("d",#09/02/2003#,#09/12/2003#)
    Response.Write "Differenze in giorni " & d_diff & "
    "

    %>

    mi restituisce un valore di 10 però è nel formato mm/gg/aaaa
    le mie date sono in formato gg/mm/aaaa

    come faccio a sistemarle prima?

    grazie

  6. #6
    ok ho letto un po' in giro http://forum.html.it/forum/showthread/t-740651.html
    ma non mi funziona:

    <%
    function formatta_data(data)
    new_data = Month(Data)&"/"&Day(data)&"/"&Year(Data)
    formatta_data = new_data
    end function
    %>

    poi nel boby:

    data inser <%=(Recordset1.Fields.Item("DATA_INSER").Value)% >

    converto:

    <%
    data_formattata = formatta_data(Recordset1.Fields.Item("DATA_INSER") )
    Response.Write data_formattata
    %>

    mi restituisce:

    data inser 23/3/2011
    converto:
    //

  7. #7
    Non è così semplice, i metodi che hai usato sono soggetti al medesimo errore.

    Come ti ho suggerito sopra, puoi fare la CONVERT delle date e la DATEDIFF direttamente nella query, estraendo già la differenza. In questo modo sei sicuro di non sbagliare i formati visto che convert accetta le diverse combinazioni (yyyy-mm-dd, dd-mm-yyyy, ecc.).

    Se non vuoi fare così puoi sempre estrarre il tuo campo testo contenente la data, ed essendo sicuri che la data sia in formato gg/mm/aaaa convertirlo in data così:

    codice:
    stringDate = rs("campo_data") 'formato dd/mm/yyyy
    
    arrayDate = split(stringDate, "/")
    
    dateDate = DateSerial(arrayDate(2), arrayDate(1), arrayDate(0))
    Ora la tua data è in formato data in asp e puoi passarla a datediff.
    xxx

  8. #8
    scusa la mia ignoranza

    stringDate = rs("campo_data") 'formato dd/mm/yyyy

    arrayDate = split(stringDate, "/")

    dateDate = DateSerial(arrayDate(2), arrayDate(1), arrayDate(0))


    quindi mi diventa

    stringDate = Recordset1.Fields.Item("DATA_INSER") 'formato dd/mm/yyyy

    arrayDate = split(stringDate, "/")

    dateDate = DateSerial(arrayDate(2), arrayDate(1), arrayDate(0))

    giusto? se si cosa passo alla funzione datediff?

    DateDiff("d",#????#,#09/12/2003#)

    grazie
    Fabio

  9. #9
    Io ti ho solo suggerito come convertire la data estratta dal database in un qualcosa in formato data riconosciuto correttamente in vbscript.

    A questo punto a DateDiff passerai quella data:

    DateDiff("d", dateDate, altraDataConvertita)
    xxx

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.