关于获取某个表中某个数据类型的字段名的问题
我想要获取某个表中所有numeric(5,2)的字段名
SQL语句如下
SELECT Name,type FROM 数据库名..SysColumns WHERE id=Object_Id('表名') and type = 108
其中108是numeric(5,2)对应的数据类型的值,返回了我想要的结果
但是总觉的这样 不是个好的解决方法
当执行下面的语句时,
SELECT Name,type FROM 数据库名..SysColumns WHERE id=Object_Id('表名')
返回的type都是整数
那么是否意味着数据库中所有的数据类型是有固定的值?
我上网查找资料没有找到这方面的解释,另,有什么其他办法解决这个问题?
谢谢!
------解决方案--------------------SQL code
type tinyint 类型
对应表sys.types 中的物理存储类型。
------解决方案--------------------
SQL code
syscolumns 的xtype 和 sys.types 的system_type_id 是对应的 都是tinyint 类型
------解决方案--------------------
查看108是numeric(5,2)時這樣用
SQL code
SELECT Name,TYPE_NAME(xusertype) AS 類型
FROM 数据库名..syscolumns
WHERE ID=OBJECT_ID('表名') AND xusertype=108 AND prec=5 AND scale=2