SQL Server 2008创建具有指定格式的日期列的表

时间:2018-04-16 09:23:17

标签: sql sql-server create-table

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

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

下面是CREATE TABLE查询:

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

现在我应该如何在上面的查询中设置datetime列的格式?

1 个答案:

答案 0 :(得分:0)

@MitchWheat在评论中绝对正确。日期/时间以内部格式存储。

您可以做的一件事是向表中添加一个计算列,并将其用于正确的格式。你可以这样做:

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), ' ', '-') )
);

如果要以首选格式输出日期,现在可以使用其他字段。您还可以使用内置日期/时间功能操作现有值。