我在数据库中的许多表中都有日期字段,现在我想将所有表的日期数据类型更改为日期时间数据类型,我已经搜索了很多次但我没有找到更好的解决方案,我怎么能解决这个问题,你有什么想法或者你能为我写任何具体的查询吗?谢谢。
最佳答案
尝试以下查询:
DECLARE @Result NVARCHAR(MAX) = ''
SELECT @Result = @Result + 'Alter Table [' +t.name + '] Alter Column [' + c.name +'] DateTime ' + CASE WHEN c.is_nullable=1 THEN ' NULL' ELSE 'Not NULL' END +' '
FROM sys.tables t
INNER JOIN sys.columns c ON c.object_id = t.object_id
INNER JOIN sys.types ty ON ty.user_type_id = c.user_type_id
WHERE ty.name = 'Date'
AND OBJECTPROPERTY(t.object_id,'IsUserTable')=1
EXEC(@Result)
关于sql-server - 将所有表的日期更改为sql server中的日期时间数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24967758/