我们知道人们在他们的电脑中设置他们的日期格式,比如 dd/MM/yyyy,或者可能是 MM/dd/yyyy。所以我只想根据系统设置显示日期。
现在我正在这样做
CONVERT(VARCHAR(10),GETDATE(),101) AS DateOnly;
如果可能,请帮忙
我们知道人们在他们的电脑中设置他们的日期格式,比如 dd/MM/yyyy,或者可能是 MM/dd/yyyy。所以我只想根据系统设置显示日期。
现在我正在这样做
CONVERT(VARCHAR(10),GETDATE(),101) AS DateOnly;
如果可能,请帮忙
这不能在 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 中使用例如 Format 类等。
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: