我想更改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);