我刚刚将数据类型分别为text
和image
的所有列转换为varchar(max)
和varbinary(max)
。但是,我仍然有dtproperties
系统表,其左值列为image类型。更改此系统表的数据类型是否会出现任何问题?显然,数据库已经存在了很长一段时间。
使用SQL Server 2008,SQL Server Management Studio。
此外,任何人都可以评论是否更好地执行ALTER语句或只是从设计函数更改它?
是否有任何脚本可以识别需要更改的所有表和列然后执行它?
答案 0 :(得分:1)
我对此做了一些研究,发现dtproperties是一个与SQL Server Management Studio中创建的数据库图表相关联的表。这减轻了我的恐惧,所以我继续改变了数据类型。
我确实需要使用ALTER语句,因为它是一个系统表。我无法在设计模式中更改它。
答案 1 :(得分:0)
实施例。
SELECT CAST( 123456 AS BINARY(4) )
SET @BinaryVariable2 = 123456
SET @BinaryVariable2 = @BinaryVariable2 + 1
SELECT CAST( @BinaryVariable2 AS INT)
GO
最终结果是57921,而不是123457。