首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL Server中,是否可以仅显示特定数据类型的表的列?

在SQL Server中,是否可以仅显示特定数据类型的表的列?
EN

Stack Overflow用户
提问于 2016-07-16 00:29:20
回答 2查看 71关注 0票数 0

我正在浏览包含多个列的数据库表。我试图并排查看具有smalldatetime数据类型的列,以便进行比较。

那么,有没有一种方法/查询可以访问同时显示相同数据类型的表中的列?

我正在使用SQL Server 2008。

EN

回答 2

Stack Overflow用户

发布于 2016-07-16 00:38:18

代码语言:javascript
复制
SELECT  
    t.name,  
    o.name AS TableName,  
    c.*  
FROM  
    sys.columns c  
JOIN  
    sys.types t ON t.user_type_id = c.user_type_id  
JOIN  
    sys.objects o ON o.object_id = c.object_id  
WHERE  
    t.name='smalldatetime'  
票数 0
EN

Stack Overflow用户

发布于 2016-07-16 00:41:53

请检查以下内容:

代码语言:javascript
复制
SELECT * FROM INFORMATION_SCHEMA.COLUMNS

您不能直接使用它,但您可以从那里构建动态SQL:

代码语言:javascript
复制
DECLARE @sch VARCHAR(100)='dbo'; --or other schema
DECLARE @tbl VARCHAR(100)='YourTableName';
DECLARE @tp VARCHAR(100)='INT'  --or other type

DECLARE @cols VARCHAR(MAX)=
(
    STUFF(
        (
        SELECT ',' + COLUMN_NAME 
        FROM INFORMATION_SCHEMA.COLUMNS 
        WHERE TABLE_SCHEMA=@sch 
          AND TABLE_NAME=@tbl 
          AND DATA_TYPE=@tp
        FOR XML PATH('')
        ),1,1,''
     )
);
DECLARE @cmd VARCHAR(MAX)=
'SELECT ' + @cols + ' FROM ' + @sch + '.' + @tbl;

EXEC(@cmd);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38401007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档