none
FUNZIONE DATEPART RRS feed

  • Domanda

  • Ciao a tutti.

    Ho questo problema ... su un SQL 2008 inglese a cui ho impostato il SET DATEFORMAT DMY la funzione

    DATEPART(wk, '04/01/2009')

    ritorna la settimana 2 anzichè la settimana 1.

    Ho provato a settare ad Italian tutte le impostazioni possibili, ma sembra non avere effetto.

    Dimentico qualcosa?

    Quale è il parametro su cui agire per modificare il comportamento della funzione in oggetto?

    Grazie in anticipo a tutti :))))

    balrog

     

     

     

    lunedì 5 luglio 2010 11:27

Risposte

  • Ciao balrog,

    leggi attentamente qui DATEPART (Transact-SQL) dove dice :  Quando datepart è week (wk, ww) o weekday (dw), il valore restituito dipende dal valore impostato utilizzando SET DATEFIRST.

    quindi se vuoi che il conteggio delle settimane consideri il lunedì come primo giorno della settimana dovrai fare:
    ----
    SET DATEFIRST 1
    SELECT DATEPART(wk, '20090104')
    ----

    ps. SET DATEFORMAT DMY influenza l'interpretazione del formato data e non il primo giorno della settimana.

    Ciao
    Giorgio Rancati

    lunedì 5 luglio 2010 12:04
    Moderatore

Tutte le risposte

  • Ciao balrog,

    leggi attentamente qui DATEPART (Transact-SQL) dove dice :  Quando datepart è week (wk, ww) o weekday (dw), il valore restituito dipende dal valore impostato utilizzando SET DATEFIRST.

    quindi se vuoi che il conteggio delle settimane consideri il lunedì come primo giorno della settimana dovrai fare:
    ----
    SET DATEFIRST 1
    SELECT DATEPART(wk, '20090104')
    ----

    ps. SET DATEFORMAT DMY influenza l'interpretazione del formato data e non il primo giorno della settimana.

    Ciao
    Giorgio Rancati

    lunedì 5 luglio 2010 12:04
    Moderatore
  • Grazie mille mi era sfuggito ...

    mitico!

    Ciao :)))

     

    lunedì 5 luglio 2010 12:42