SQL Server 2008 使用指定格式的日期列创建 Table

SQL Server 2008 Creating Table with date column with specified format

我必须创建一个包含 3 列的 table(dtFrom、dtTo、service_time)。 dtFrom & dtTo 是 datetime , service_time 是 int。现在在日期时间列中,我必须将日期保存为 22-Apr-2018。我应该如何在 CREATE TABLE 查询中设置格式。

我用谷歌搜索了它,但没有找到任何帮助。

下面是 CREATE TABLE 查询:

create table tbl_previous_policy
(
 dtFrom datetime NOT NULL,
 dtTo datetime NOT NULL,
 service_time int NOT NULL
)

现在我应该如何设置上述查询中日期时间列的格式?

@MitchWheat 的评论完全正确。 Date/times 以内部格式存储。

您可以做的一件事是将计算列添加到 table 并将其用于正确的格式。您可以这样做:

create table tbl_previous_policy (
    dtFrom datetime NOT NULL,
    dtTo datetime NOT NULL,
    service_time int NOT NULL,
    dtFrom_ddmmmyyyy as ( replace(convert(varchar(11), dtFrom, 106), ' ', '-') ),
    dtTo_ddmmmyyyy as ( replace(convert(varchar(11), dtTo, 106), ' ', '-') )
);

如果您想以首选格式输出日期,现在可以使用附加字段。您还可以使用内置 date/time 功能操作现有值。