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

Bevarer formatet, mens DateTime-værdier overføres til Stored Procedure

En DateTime er en DateTime er en DateTime - det "har" ikke noget (streng-orienteret) format, når det er gemt i SQL Server (det er gemt som et 64-bit langt). Hvis du sender en parameter til en lagret procedure som en DateTime allerede, du burde have det godt! Værdien vil blive gemt af SQL Server uden ændre enhver formatering - da den ikke har nogen formatering tilknyttet...

Det eneste punkt, hvor datoen er repræsenteret i et givent strengformat er, når man ser på det i SQL Server Management Studio, eller når man konverterer det til et strengformat i f.eks. din .NET-app.

Når du på en eller anden måde skal sende en streng-repræsentation ind i SQL Server (f.eks. til søgning osv.), den, der er den mest robuste og vil fungere med enhver regional/sprog indstilling er ISO-8601 datoformat:YYYYMMDD eller alternativt (hvis du har brug for tidsdelen) YYYY-MM-DDTHH:MM:SS (hvor T i midten er et bogstav, der adskiller dato- og klokkeslættet)



  1. postgresql:.pgpass virker ikke

  2. Linker ALLE brugere til login efter gendannelse af en SQL Server 2005-database

  3. Forskellen mellem SQL Server og Oracle 'Bruger'

  4. Forbindelsestimeout ved forespørgsel på stor tabel