Sql server Sql server如何根据设置获取当前日期

Sql server Sql server如何根据设置获取当前日期,sql-server,Sql Server,我们知道人们在电脑中设置日期格式,如dd/MM/yyyy,也可以是MM/dd/yyyy。所以我只想根据系统设置显示日期 现在我这样做了 CONVERT(VARCHAR(10),GETDATE(),101) AS DateOnly; 如果可能,请帮助这在SQL Server中无法完成。它不知道客户端的设置是什么 您可以在调用应用程序或web服务器中执行此操作。在SQL server中无法执行此操作。它不知道客户端的设置是什么 您可以在调用应用程序或web服务器中执行此操作。我不认为可以按照您尝试

我们知道人们在电脑中设置日期格式,如dd/MM/yyyy,也可以是MM/dd/yyyy。所以我只想根据系统设置显示日期

现在我这样做了

CONVERT(VARCHAR(10),GETDATE(),101) AS DateOnly;

如果可能,请帮助

这在SQL Server中无法完成。它不知道客户端的设置是什么


您可以在调用应用程序或web服务器中执行此操作。

在SQL server中无法执行此操作。它不知道客户端的设置是什么


您可以在调用应用程序或web服务器中执行此操作。

我不认为可以按照您尝试的方式执行此操作

如果用户使用查询工具进行查询,则该查询工具中有关于如何显示日期的设置

如果您有应用程序层(web、客户端等),则需要根据某个地方的语言环境对其进行格式化

这可能是

a) 在SQL Server上的SQL中,如下所示:

DECLARE @d DATETIME = '01/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS US_Result;
SELECT FORMAT ( @d, 'd', 'fr-FR' ) AS FR_Result;
SELECT FORMAT ( @d, 'd', 'de-DE' ) AS DE_Result;
(应用程序将区域设置从客户端传递到SQL)

b) 在应用程序代码.net/java中使用格式类等

public class FormatDate
{
   public static void Main()
   {
      DateTime dt = DateTime.Now;
      // Sets the CurrentCulture property to U.S. English.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      // Displays dt, formatted using the ShortDatePattern
      // and the CurrentThread.CurrentCulture.
      Console.WriteLine(dt.ToString("d"));

      // Creates a CultureInfo for German in Germany.
      CultureInfo ci = new CultureInfo("de-DE");
      // Displays dt, formatted using the ShortDatePattern
      // and the CultureInfo.
      Console.WriteLine(dt.ToString("d", ci));
   }
}
c) 在客户端,例如,如果用户正在查看网页,则需要使用javascript,如下所述:


我认为这件事不能像你想的那样做

如果用户使用查询工具进行查询,则该查询工具中有关于如何显示日期的设置

如果您有应用程序层(web、客户端等),则需要根据某个地方的语言环境对其进行格式化

这可能是

a) 在SQL Server上的SQL中,如下所示:

DECLARE @d DATETIME = '01/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS US_Result;
SELECT FORMAT ( @d, 'd', 'fr-FR' ) AS FR_Result;
SELECT FORMAT ( @d, 'd', 'de-DE' ) AS DE_Result;
(应用程序将区域设置从客户端传递到SQL)

b) 在应用程序代码.net/java中使用格式类等

public class FormatDate
{
   public static void Main()
   {
      DateTime dt = DateTime.Now;
      // Sets the CurrentCulture property to U.S. English.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      // Displays dt, formatted using the ShortDatePattern
      // and the CurrentThread.CurrentCulture.
      Console.WriteLine(dt.ToString("d"));

      // Creates a CultureInfo for German in Germany.
      CultureInfo ci = new CultureInfo("de-DE");
      // Displays dt, formatted using the ShortDatePattern
      // and the CultureInfo.
      Console.WriteLine(dt.ToString("d", ci));
   }
}
c) 在客户端,例如,如果用户正在查看网页,则需要使用javascript,如下所述:


这将起作用。你还想要什么?把它作为一个日期,让客户端按照他们想要的设置格式化它。这样就行了。你还想要什么?把它当作约会,让客户端根据其所需设置对其进行格式设置。格式为SQL Server 2012+仅此可能不适用于此处格式为SQL Server 2012+仅此可能不适用于此处如果客户端告诉服务器它希望如何将其作为查询,则可以在SQL Server中执行此操作param@MarkD:SQL Server在格式化之前没有完整的区域设置范围。一般来说,它不能,你不应该@gbn你可能在“不应该”和“不能”上是对的,但这可能取决于他的情况-我们不知道关于这个应用程序的任何信息,也不知道他是否拥有2012,最初的问题是如何在sql server中执行。如果客户端告诉服务器它希望如何将其作为查询,则可以在sql server中执行param@MarkD:SQL Server在格式化之前没有完整的区域设置范围。一般来说,它不能,你不应该@gbn你可能在“不应该”和“不能”上是对的,但这可能取决于他的情况-我们不知道关于这个应用程序的任何信息,以及他是否有2012等。最初的问题是如何在sql server中做到这一点。。