Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Preservando o formato ao passar valores de DateTime para o procedimento armazenado


Um DateTime é um DateTime é um DateTime - ele não "tem" nenhum formato (orientado a string) quando armazenado no SQL Server (é armazenado como um tamanho de 64 bits). Se você passar um parâmetro para um procedimento armazenado como um DateTime já, você deve estar bem! O valor será armazenado pelo SQL Server sem alterando qualquer formatação - já que não possui nenhuma formatação associada a ela ...

O único ponto em que a data é representada em um determinado formato de string é quando você o observa no SQL Server Management Studio ou quando o converte em um formato de string em, por exemplo, seu aplicativo .NET.

Quando você precisa de alguma forma passar uma representação de string para o SQL Server (por exemplo, para pesquisar etc.), aquele que é o mais robusto e funcionará com qualquer a configuração regional/idioma é a ISO-8601 formato de data:YYYYMMDD ou alternativamente (se você precisar da parte do tempo) YYYY-MM-DDTHH:MM:SS (onde o T no meio é um literal, separando as porções de data e hora)