如何在SQL表列中找到列的长度和类型? 即,如果有人使用Varchar(20)创建表,我想识别此信息,无论是Numeric还是Varchar以及长度/大小。
另外,我可以在不丢失数据的情况下减小表的大小。 例如,如果列中的所有数据大小为15且列长度为20,那么我可以将表列长度更改为15而不会丢失数据吗?
答案 0 :(得分:1)
以下查询应该有效:
select DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'tableName' and COLUMN_NAME = 'ColumnName'
根据您的第二个问题,是的,从理论上讲,您可以在不截断该列中的任何数据的情况下更改列长度。您应该考虑任何 future / em>数据(可能需要更长的长度/精度)也会受到影响。
答案 1 :(得分:1)
只选择该表并按alt + f1,然后您将获得该表的完整结构。