2010-03-12 15 views
2

Question: La nouvelle base de données SQL Server 2008 me renvoie des valeurs au format anglais (date/float).SQL Server: comment définir le format de retour?

Y at-il un moyen que je peux définir le format de retour?

Par exemple, changer temporairement la langue de la base de données?

Ou simplement définir la langue pour la requête en cours?

Répondre

1

BOL: spécifie l'environnement linguistique de la session. La langue de la session détermine les formats de datetime et les messages système.

DECLARE @Today DATETIME 
    SET @Today = '12/5/2007' 

    SET LANGUAGE Italian 
    SELECT DATENAME(month, @Today) AS 'Month Name' 

    SET LANGUAGE us_english 
    SELECT DATENAME(month, @Today) AS 'Month Name' 
    GO 
0

Vous ne pouvez pas changer la langue dans SQL Server pour une seule instruction ou spécifier une langue différente pour une sélection.

Ce que vous devez faire est:

  • soit convertir DATETIME à chaîne en utilisant une valeur « de style » appropriée dans votre déclaration CONVERT (voir MSDN docs on CONVERT pour plus de détails)
  • ont un lot pour passer à la langue nécessaire, exécutez votre déclaration, puis revenez
  • ne pas faire la commutation du côté de SQL Server, mais dans votre application