首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从查询中返回SQL数据类型?

如何从查询中返回SQL数据类型?
EN

Stack Overflow用户
提问于 2009-10-21 23:42:33
回答 13查看 295.1K关注 0票数 74

我有一个SQL查询,它查询一个我既不需要也不想理解的庞大数据库(例如,数百个带有难以阅读的名称的视图/表,如CMM-CPP-FAP-ADD)。此查询的结果需要存储在临时表中,以便提供报告。

我需要创建临时表,但由于要挖掘数百个视图/表来查找这里所表示的数据类型,我不得不怀疑是否有更好的方法来构造这个表。

有人能告诉我如何使用SQL Server 2008工具来预测我的SQL 2000数据库中的源数据类型吗?

作为一个通用示例,我想从查询中了解情况,例如:

代码语言:javascript
复制
SELECT Auth_First_Name, Auth_Last_Name, Auth_Favorite_Number 
FROM Authors

我想知道的不是实际的结果,而是:

代码语言:javascript
复制
Auth_First_Name is char(25)
Auth_Last_Name is char(50)
Auth_Favorite_Number is int

我对约束不感兴趣,我只想知道数据类型。

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2009-10-21 23:46:27

代码语言:javascript
复制
select * from information_schema.columns

可以帮你入门。

票数 65
EN

Stack Overflow用户

发布于 2017-09-22 18:18:31

对于SQL Server 2012及更高版本:如果将查询放入字符串中,则可以获得如下结果集数据类型:

代码语言:javascript
复制
DECLARE @query nvarchar(max) = 'select 12.1 / 10.1 AS [Column1]';
EXEC sp_describe_first_result_set @query, null, 0;  
票数 54
EN

Stack Overflow用户

发布于 2014-09-27 04:07:30

您还可以将结果(或前10个结果)插入到临时表中,并从临时表中获取列(只要列名都不同)。

代码语言:javascript
复制
SELECT TOP 10 *
INTO #TempTable
FROM <DataSource>

然后使用:

代码语言:javascript
复制
EXEC tempdb.dbo.sp_help N'#TempTable';

代码语言:javascript
复制
SELECT * 
FROM tempdb.sys.columns 
WHERE [object_id] = OBJECT_ID(N'tempdb..#TempTable');

是从Aaron's answer here推断出来的。

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

https://stackoverflow.com/questions/1601727

复制
相关文章

相似问题

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