将日期转换为整数SQL Server Management Studio



我需要用新的日期格式在同一个表"OEMAIN"中创建一个新的列"DateID"。我有一个名为EntryDate的列,其格式为"2011-01-05 00:00:00"(datetime2(0), null),我想从该列中拉出另一个列,称为DateID"YYYYMMDD"(int,非null)我将使用什么编码来做到这一点?我知道这可能是一个基本的问题,但我似乎无法理解它。由于

如果需要DateId字段,则可以计算为:

select (year(o.EntryDate) * 10000 + month(o.EntryDate) * 100 + day(o.EntryDate)) as DateId
from oemain o;

如果您想将其作为"列"包含在表中,我建议使用计算列:

alter table oemain
    add DateId as (year(EntryDate) * 10000 + month(EntryDate) * 100 + day(EntryDate));

这样,您就不必担心保持DateId列与EntryDate列同步。计算自动进行

相关内容

最新更新