Как вернуть тип поля из запроса MySQL?
простой вопрос:Как я могу вернуть тип поля таблицы MySQL. Я знаю о describe
или show column
но я просто хочу вернуть этот единственный параметр. например:
SELECT fieldtype(mycol) FROM mytable
# should return INT or integer for example
5 ответов
можно использовать
SHOW FIELDS
FROM tableName where Field ='nameOfField'
это вернет вам результат в формате
Field Type Null Key Default Extra
вы можете получить это из базы данных information_schema:
select data_type
from information_schema.columns
where table_schema = 'myschema'
and table_name = 'mytable'
and column_name = 'mycol'
Я знаю, что немного опоздал на вечеринку. Вы можете использовать COLUMN_TYPE вместо DATA_TYPE. Он дает больше информации (например, точность) о типе.
SELECT COLUMN_TYPE
FROM information_schema.COLUMNS
WHERE TABLE_NAME = 'parts'
AND COLUMN_NAME = 'price'
...доходность...
decimal(11,2)
следующий синтаксис также работает, используя describe, введите columnName после tableName:
describe tbleName columnName;
ResultSet rs = Sstatement.executeQuery("SELECT * FROM Table Name");
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
System.out.println("resultSet MetaData column Count=" + numberOfColumns);
for (int i = 1; i <= numberOfColumns; i++) {
System.out.println("column number " + i);
System.out.println(rsMetaData.getColumnTypeName(i));
}