sql >> Databáze >  >> RDS >> Sqlserver

Zachování formátu při předávání hodnot DateTime do uložené procedury

A DateTime je DateTime je DateTime - při uložení na SQL Server "nemá" žádný (řetězcově orientovaný) formát (je uložen jako 64bitový). Pokud předáte parametr do uložené procedury jako DateTime už bys měl být v pohodě! Hodnota bude uložena serverem SQL bez změna jakéhokoli formátování - protože s ním není spojeno žádné formátování...

Jediný bod reprezentuje datum v daném řetězcovém formátu je, když se na něj podíváte v SQL Server Management Studio, nebo když jej převedete do formátu řetězce v např. vaší aplikaci .NET.

Když potřebujete nějakým způsobem předat reprezentaci řetězce do SQL Serveru (např. pro vyhledávání atd.), ten, který je nejrobustnější a bude fungovat s jakýmkoli regionální/jazykové nastavení je ISO-8601 formát data:YYYYMMDD nebo alternativně (pokud potřebujete časovou část) YYYY-MM-DDTHH:MM:SS (kde T uprostřed je doslovný text oddělující části data a času)



  1. PHP/PDO/MySQL:vkládání do MEDIUMBLOB ukládá špatná data

  2. Importujte soubor SQL do mysql

  3. Oracle 11g - Spouštění PL/SQL kurzorů

  4. Jak vytvořit formát json pomocí group-concat mysql?