Sql 在年-月列中添加同一天

Sql 在年-月列中添加同一天,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图在每年的“月”列记录中添加第15天 这里是我想要实现的一个例子。这适用于所有的年/月记录。基本上,所有的年/月记录都应该包含一个月后的15 从 到 还没有尝试任何代码,老实说,我不知道如何开始。您可以使用datefromparts函数。它将年、月和日作为参数,并从中生成日期。你可以硬编码第15天 select datefromparts(year, month, 15) 您可以使用datefromparts函数。它将年、月和日作为参数,并从中生成日期。你可以硬编码第15天 select

我试图在每年的“月”列记录中添加第15天

这里是我想要实现的一个例子。这适用于所有的年/月记录。基本上,所有的年/月记录都应该包含一个月后的15

还没有尝试任何代码,老实说,我不知道如何开始。

您可以使用datefromparts函数。它将年、月和日作为参数,并从中生成日期。你可以硬编码第15天

select datefromparts(year, month, 15)
您可以使用datefromparts函数。它将年、月和日作为参数,并从中生成日期。你可以硬编码第15天

select datefromparts(year, month, 15)
使用CAST和CONCAT的另一种方法

示例:选择CASTCONCAT2019、'-',4、'-15'作为日期将导致2019-04-15

使用CAST和CONCAT的另一种方法

示例:选择CASTCONCAT2019,'-',4,'-15'作为日期,结果为2019-04-15

如果year_month是字符串,则:

update t
     set year_month = year_month + '-15';
完成此操作后,我建议将类型更改为日期:

或者,如果您选择时只想在表中输入日期:

alter table t add year_month_date as (convert(date, year_month + '-15'));
这将向表中添加一个作为日期的计算列。然后,您可以像在任何其他列中一样选择它并在查询中使用它。

如果year\u month是字符串,则:

update t
     set year_month = year_month + '-15';
完成此操作后,我建议将类型更改为日期:

或者,如果您选择时只想在表中输入日期:

alter table t add year_month_date as (convert(date, year_month + '-15'));

这将向表中添加一个作为日期的计算列。然后,您可以选择它并在查询中使用它,就像在任何其他列中一样。

非常感谢!非常有帮助,得到了我需要的东西!我不太了解PartsHanks的约会!非常有帮助,得到了我需要的东西!不知道datefromparts@driveg81不客气。如果答案有帮助,你可以投票表决。您也可以,这更符合您的要求。@driveg81不客气。如果答案有帮助,你可以投票表决。您也可以,这更符合您的要求。什么是年-月类型?什么是年-月类型?
alter table t add year_month_date as (convert(date, year_month + '-15'));