数据库保存的int类型,查询后返回的结果是字符串类型。。。为什么查询时返回的是字符串,不是int类型?
如果只是通过 sql语句在mysql 中查询的话,可能是因为你建表使用字段的是字符串类型吧, 其它的原因可能是你的sql语句中有使用过int 转字符串(不太可能)
如果是通过jdbc 或其它外部程序进行访问的话,通常个情况下拿到的是一行数据,从一行数据中取出一部分数据,一般是需要进行类型转换的
用下面这段sql就能查看对应表中的字段数据类型了。
select ORDINAL_POSITION as Colorder,Column_Name as ColumnName,data_type as TypeName,COLUMN_COMMENT as DeText,
(case when data_type = 'float' or data_type = 'double' or data_type = 'decimal' then NUMERIC_PRECISION else CHARACTER_MAXIMUM_LENGTH end ) as length,
NUMERIC_SCALE as Scale,( case when EXTRA='auto_increment' then 1 else 0 end) as IsIdentity,(case when COLUMN_KEY='PRI' then 1 else 0 end) as IsPK,
(case when IS_NULLABLE = 'NO' then 0 else 1 end)as CanNull,COLUMN_DEFAULT as DefaultVal
from information_schema.columns where table_schema = '数据库名' and table_name = '表名' order by ORDINAL_POSITION asc
要是你是java里通过ResultSet对象获取表中数据的话,获取int类型数据可以用getInt("列名")就是得到的int类型的数据