【发布时间】:2011-03-05 10:21:49
【问题描述】:
我在 SQL Server 表中有一个类型为date 的列,其默认设置为yyyy-MM-dd。我想把它改成dd-MM-yyyy。
我该怎么做?
【问题讨论】:
标签: sql sql-server datetime
我在 SQL Server 表中有一个类型为date 的列,其默认设置为yyyy-MM-dd。我想把它改成dd-MM-yyyy。
我该怎么做?
【问题讨论】:
标签: sql sql-server datetime
它的默认设置是 yyyy-MM-dd
不,不是。没有与该字段相关联的格式信息。
该值未由数据库格式化,它仅作为一个时间点返回。将该值格式化为它的文本表示是由从数据库中获取数据的应用程序完成的。
因此,您无法在数据库中更改日期值的格式,您必须更改数据的显示位置。
【讨论】:
你在找这个吗?
SELECT convert(varchar, getdate(), 105) – dd-mm-yyyy
从这里查看其他格式http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/
【讨论】:
【讨论】:
数据库将数据存储为时间点。当您选择时,例如使用 Query Analyzer og SSMS,屏幕上的格式将取决于服务器上使用的本地化。
您应该在应用程序中格式化日期。您可以使用CONVERT(varchar(19), datecolumn, 105),其中 105 是特定格式的代码,有关更多代码,请参阅 SQL Server 帮助。您需要了解,如果这样做,您已将列的数据类型更改为 varchar,这意味着您不能使用它来执行日期计算或其他特定于日期时间的任务。
我相信最好的方法是让应用程序处理日期格式并让数据库简单地存储它。大多数编程语言和报告工具都有比 SQL Server 更好的日期格式设置方法。
【讨论】:
我认为您可以使用 format() 函数作为替代方法。
语法:
SELECT FORMAT(column_name,format) FROM table_name;
在此处输入代码(示例如下)
SELECT ProductName, Price, FORMAT(Now(),'DD-MM-YYYY') AS PerDate 来自产品;
【讨论】: