鍍金池/ 問答/數(shù)據(jù)庫/ mysql如何知道一段查詢結(jié)果的每個(gè)字段的數(shù)據(jù)類型

mysql如何知道一段查詢結(jié)果的每個(gè)字段的數(shù)據(jù)類型

比方說我現(xiàn)在有一段sql查詢
例如

select COUNT(b.id),b.`apply_date`,a.industry 
from 
`cj_bjzscq_zhuanli_xinsanban` as b 
LEFT JOIN 
`xinsanban_bj` as a 
on 
b.company = a.`company_name` 
where b.`apply_date` in ('2017','2016','2015','2014','2013') and a.`industry` in ('調(diào)查和咨詢服務(wù)','工業(yè)機(jī)械','信息科技咨詢和系統(tǒng)集成服務(wù)')
GROUP BY 
b.`apply_date`,a.industry 
ORDER BY b.`apply_date` desc 

查詢結(jié)果如下

clipboard.png

但是我還想知道apply_date的數(shù)據(jù)類型是什么
怎么辦?

回答
編輯回答
陪妳哭

如果你使用java jdbc, 可以通過metadata獲得字段類型

ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");//得到查詢結(jié)果,一個(gè)數(shù)據(jù)集 
ResultSetMetaData rsmd = rs.getMetaData(); 
int numberOfColumns = rsmd.getColumnCount(); //得到數(shù)據(jù)集的列數(shù)  

ResultSetMetaData中的結(jié)構(gòu):

om.mysql.jdbc.ResultSetMetaData@132e13d - Field level information: 
com.mysql.jdbc.Field@1617189[catalog=test,tableName=MyBean,originalTableName=mybean,columnName=id,originalColumnName=id,mysqlType=3(FIELD_TYPE_LONG),flags= PRIMARY_KEY, charsetIndex=63, charsetName=US-ASCII]
com.mysql.jdbc.Field@64f6cd[catalog=test,tableName=MyBean,originalTableName=mybean,columnName=name,originalColumnName=name,mysqlType=253(FIELD_TYPE_VAR_STRING),flags=, charsetIndex=8, charsetName=Cp1252]
2018年3月8日 02:05
編輯回答
尤禮

用視圖?但是我不清楚有沒有創(chuàng)建視圖的必要
創(chuàng)建視圖
mysql> create view t(id,score) as select id,score from grade;
Query OK, 0 rows affected (0.02 sec)
查看視圖中字段的類型

mysql> desc t;
Field Type Null Key Default Extra
id int(10) NO 0
score double(5,2) YES NULL

2 rows in set (0.00 sec)

2018年2月17日 03:59