Format de date dans SQL Server 2012

J'ai la date dans ce format 2017-02-03 et je veux que ma date devrait être dans ce format 01-Mar-2016 tout en faisant la command de sélection.

J'utilise SQL Server 2012

Consultez ce site Web . Cela sera utile.

 select replace(convert(varchar, getdate(), 106),' ','-') 

Ce qui est fait ici est: D'abord le convertir en '01 mars 2016 'et ensuite replace les espaces blancs (' ') par' – '. Ce qui donnera la sortie désirée comme '01 -Mar-2016 '

Utilisez la fonction Format SQL Server dans laquelle vous pouvez spécifier une string de format .NET

Par exemple pour la date actuelle

 SELECT FORMAT(GETDATE(), 'dd-MMM-yyyy'); 

Aussi, vous pouvez spécifier la culture ici si nécessaire

 SELECT FORMAT(GETDATE(), 'dd-MMM-yyyy', 'en-US'); 

Si vos dates sont stockées en tant que string, vous feriez mieux de corriger cela, mais vous pouvez simplement les CAST ou les CONVERT à la place. C'est à dire

 SELECT FORMAT(CAST('2017-10-11' AS date), 'dd-MMM-yyyy');