如何获取多列的数据类型?

时间:2015-08-28 17:11:53

标签: sql

我在表中有一列包含另一个表的列名。 我希望自动化查找与所有列名对应的数据类型的过程。

如果是1列,我会使用:

SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
  WHERE     
     TABLE_NAME = 'table' AND 
     COLUMN_NAME = 'column'

然而,有多个列。 例如,

Columns
---------
A
B
C    
D

现在如何自动执行查找与每个列名对应的数据类型的过程?

聚苯乙烯。拥有这些列的表的名称是已知的。

1 个答案:

答案 0 :(得分:1)

警告: WHERE子句中字符串的大小写非常重要

SELECT COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
  WHERE     
     TABLE_NAME = 'table' AND 
     COLUMN_NAME IN ('a', 'b', 'c' ,'d');

示例:

> select column_name, data_type from information_schema.columns where
         table_name='posts' and column_name in ('id', 'creationdate');
 column_name  |          data_type          
--------------+-----------------------------
 id           | integer
 creationdate | timestamp without time zone
(2 rows)