我在我的本地计算机上的表跑sp_columns SomeTable
,并被输出为一列,应该是一个varbinary(max)
列困惑:为什么sp_columns显示'image'作为varbinary(max)类型的type_name?
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME PRECISION
--------------------------------------------------------------------------------------
MDB dbo SomeTable SomeColumn -4 image 2147483647
混乱的部分是,这列是VARBINARY(max)列,但这里列出的TYPE_NAME
是image
。
所以我的问题是这样的:为什么sp_columns
这是image
当它是varbinary(max)
?
这是Microsoft SQL Server 2016 (SP1-CU5) (KB4040714) - 13.0.4451.0 (X64)
由于'sp_columns'追溯到到SQL Server 6.0([参考](https://msdn.microsoft.com/en-us/library/aa226174 %28v = sql.70%29.aspx?f = 255&MSPPError = -2147217396)。)它可能从Ye Good Olde Days那里带走一些行李。而不是改变返回的结果和打破现有的代码,它只是继续返回一个现在不赞成使用的类型。 _他们有很多其他方式来打破现有的代码。 – HABO