首页 > 数据库技术 > 详细

SQL SERVER查询字段在哪个表里

时间:2019-03-25 12:56:44      阅读:179      评论:0      收藏:0      [点我收藏+]
DECLARE @ColumnName  AS VARCHAR(100);
SET  @ColumnName=字段名的模糊匹配;

SELECT     
表名=D.NAME,  
表说明 = CASE   WHEN   A.COLORDER=1   THEN   ISNULL(F.VALUE,  )   ELSE       END,   
字段序号 = A.COLORDER,   
字段名 =   A.NAME,   
标识  =   CASE   WHEN   COLUMNPROPERTY(   A.ID,A.NAME, ISIDENTITY )=1   THEN   ELSE       END,   
主鍵 =   CASE   WHEN   EXISTS(SELECT   1   FROM   SYSOBJECTS   WHERE   XTYPE= PK    AND   PARENT_OBJ=A.ID   AND   NAME   IN   (   
SELECT   NAME   FROM   SYSINDEXES   WHERE   INDID   IN(   
SELECT   INDID   FROM   SYSINDEXKEYS   WHERE   ID   =   A.ID   AND   COLID=A.COLID)))   THEN      ELSE       END,   
类型 =   B.NAME,   
占用字节数   =   A.LENGTH,   
长度 =  COLUMNPROPERTY(A.ID,A.NAME, PRECISION ),   
小数位数 =   ISNULL(COLUMNPROPERTY(A.ID,A.NAME, SCALE ),0),   
允许空 =   CASE   WHEN   A.ISNULLABLE=1   THEN   ELSE       END,   
默认值  =   ISNULL(E.TEXT,  ),   
字段说明  =   ISNULL(G.[VALUE],  )   
FROM   SYSCOLUMNS   A LEFT   JOIN   SYSTYPES   B   ON   A.XUSERTYPE=B.XUSERTYPE   
INNER   JOIN   SYSOBJECTS   D   ON   A.ID=D.ID     AND   D.XTYPE= U    AND     D.NAME <> DTPROPERTIES    
LEFT   JOIN   SYSCOMMENTS   E   ON   A.CDEFAULT=E.ID   
LEFT   JOIN   sys.extended_properties   G   ON   A.ID=G.major_id   AND   A.COLID=G.minor_id       
LEFT   JOIN   sys.extended_properties   F   ON   D.ID=F.major_id   AND   F.minor_id=0   
WHERE a.name like  @ColumnName AND RIGHT(D.NAME,3)<>Log  
ORDER BY A.ID,A.COLORDER    

 

SQL SERVER查询字段在哪个表里

原文:https://www.cnblogs.com/JinweiChang/p/10592817.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!