Quando si ha a che fare con le date in SQL Server, il formato ISO-8601 è probabilmente il modo migliore, poiché funziona indipendentemente dalle impostazioni della lingua e della cultura.
Per INSERIRE i dati in una tabella di SQL Server, non è necessario alcun codice di conversione o altro:basta specificare le date come stringhe letterali
INSERT INTO MyTable(DateColumn) VALUES('20090430 12:34:56.790')
e il gioco è fatto.
Se devi convertire una colonna di data in formato ISO-8601 su SELECT, puoi utilizzare il codice di conversione 126 o 127 (con informazioni sul fuso orario) per ottenere il formato ISO.
SELECT CONVERT(VARCHAR(33), DateColumn, 126) FROM MyTable
dovrebbe darti:
2009-04-30T12:34:56.790