我需要用新的日期格式在同一个表"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
列同步。计算自动进行