将整数列转换为日期列yyyy-sqlserver



我想更改sqlserver 2019中数据库上的列的数据类型。数据以整数形式存储在列中,我想将其转换为日期格式yyyy。存储的数据可以是2016或2017等。我该怎么做?谢谢你

您可以使用DATEFROMPARTS获取每个月的第一天

SELECT DATEFROMPARTS(yearInt, monthInt, 1), OtherColumns
FROM YourTable;

或者每年的第一天

SELECT DATEFROMPARTS(yearInt, 1, 1), OtherColumns
FROM YourTable;

你也可以按这个值分组:

SELECT DATEFROMPARTS(yearInt, 1, 1), OtherColumns
FROM YourTable
GROUP BY 
DATEFROMPARTS(yearInt, 1, 1);

或者创建一个新列:

ALTER TABLE YourTable
ADD YourDateColumn date NOT NULL;
UPDATE YourTable
SET YourDateColumn = DATEFROMPARTS(yearInt, monthInt, 1);

相关内容

  • 没有找到相关文章

最新更新