是否有SQL语句可以返回表中列的类型?
当前回答
在oracle SQL中,你可以这样做:
SELECT
DATA_TYPE
FROM
all_tab_columns
WHERE
table_name = 'TABLE NAME' -- in uppercase
AND column_name = 'COLUMN NAME' -- in uppercase
其他回答
下面的SQL脚本在我的结束完美地工作。
SELECT column_name AS 'Column Name',data_type AS 'Data Type'
FROM information_schema.columns
WHERE table_name = '[Table Name]'
USE [YourDatabaseName]
GO
SELECT column_name 'Column Name',
data_type 'Data Type'
FROM information_schema.columns
WHERE table_name = 'YourTableName'
GO
这将返回值Column Name,显示列的名称,以及这些列的数据类型(int, varchars等)。
如果你正在使用MySQL,你可以试试
SHOW COLUMNS FROM `tbl_name`;
在dev.mysql.com上显示列
否则你应该能做到
DESCRIBE `tbl_name`;
从SQL Server 2012开始:
SELECT * FROM sys.dm_exec_describe_first_result_set( N'SELECT * FROM [my].[Table]', NULL, 0 );
MS SQL的另一个选项是用你想要的类型的查询替换这里的选择查询:
declare @sql varchar(4000);
set @sql = 'select ''hi'' as greeting';
select * from master.sys.dm_exec_describe_first_result_set (@sql, Null, 0);
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- 我如何循环通过一组记录在SQL Server?
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?
- 如何选择每一行的列值不是独特的
- 如何改变字符集(和排序)在整个数据库?
- mySQL:: insert到表,数据从另一个表?
- 如何在Postgres中获得两个字段的MIN() ?