sql >> Base de Datos >  >> RDS >> Sqlserver

Preservar el formato al pasar los valores de fecha y hora al procedimiento almacenado

Un DateTime es un DateTime es un DateTime - no "tiene" ningún formato (orientado a cadenas) cuando se almacena en SQL Server (se almacena como una longitud de 64 bits). Si pasa un parámetro a un procedimiento almacenado como DateTime ¡Ya deberías estar bien! El valor será almacenado por SQL Server sin cambiando cualquier formato, ya que no tiene ningún formato asociado...

El único punto en el que se representa la fecha en un formato de cadena determinado es cuando lo mira en SQL Server Management Studio, o cuando lo convierte a un formato de cadena, p. su aplicación .NET.

Cuando necesite pasar de alguna manera una representación de cadena a SQL Server (por ejemplo, para buscar, etc.), la que sea más robusta y funcione con cualquier la configuración regional/de idioma es ISO-8601 formato de fecha:YYYYMMDD o alternativamente (si necesita la parte de la hora) YYYY-MM-DDTHH:MM:SS (donde el T en el medio hay un literal, separando las porciones de fecha y hora)