Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Problemi di data e ora di SQL Server. Americano contro britannico?

Puoi utilizzare IMPOSTA LINGUA per scegliere il formato della data che SQL Server si aspetta nelle query (penso che Management Studio utilizzi le impostazioni regionali del computer client per scopi di visualizzazione, tuttavia non sono sicuro). Tuttavia, suggerisco di passare i valori utilizzando i parametri invece di incorporarli nell'istruzione di query. Non incontrerai alcun problema se utilizzi i parametri. Tutto è curato.

set language us_english
declare @d datetime = '1929/12/18'

set language british
declare @d datetime = '1929/12/18' -- fails

Per cambiare la lingua predefinita del server:

declare @langid int = (select langid from syslanguages where name = 'british')
exec sp_configure 'default language', @langid
reconfigure with override