2016-10-14 40 views
0

下面的工程用于显示日期,但是在写入数据库时​​[在日期时间列中],它似乎正在转换为默认格式。如何以dd-mon-yyyy格式在SQL Server中存储日期?

REPLACE(CONVERT(VARCHAR(11),CONVERT(DATETIME,DATE_FIELD),106),' ','-') 
+0

为什么要在存储时更改格式?在应用程序中显示时进行格式化 –

回答

4

数据库中的日期/时间值以二进制格式存储。它们不作为字符串存储。这是存储它们的正确方法。

如果您想要以特定格式获取数据,请在检索它们时使用该公式。或者,您可以添加一个计算列:

alter table t 
    add date_field_ddmonyyyy as (REPLACE(CONVERT(VARCHAR(11), CONVERT(DATETIME,DATE_FIELD), 106), ' ', '-'));