sql-server – 在sql server中,sys.types中的user_type_id和system_type_id有什么区别

前端之家收集整理的这篇文章主要介绍了sql-server – 在sql server中,sys.types中的user_type_id和system_type_id有什么区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
sql server中sys.types视图中user_type_id和system_type_id有什么区别?

我想用sys.types来内部连接sys.columns来获取用户表中的列的数据类型,但是这两个视图都有两个字段user_type_id和system_type_id,应该使用哪一个?

解决方法

你几乎不想加入sys.columns.system_type_id = sys.types.system_type_id.在用户定义类型的情况下,这将导致 duplicate records.

有两个有意义的JOIN.它们都是内置类型的工作.

> sys.columns.user_type_id = sys.types.user_type_id

对于内置类型,它返回内置类型.

对于用户定义的类型,它返回用户定义的类型.
> sys.columns.system_type_id = sys.types.user_type_id

对于内置类型,它返回内置的基本类型.这可能是有意义的,例如,如果要获取所有varchar列,包括基于varchar的所有用户定义的列.

猜你在找的MsSQL相关文章