我正在尝试从 INFORMATION_SCHEMA.COLUMNS 表中的 MS SQL 获取最大允许的列长度(表示中的字符数,而不是字节数)。我发现 CHARACTER_MAXIMUM_LENGTH 对于数字和日期时间类型可以为 NULL。我还在 INFORMATION_SCHEMA.COLUMNS 表中找到了三个以下列:
- NUMERIC_PRECISION;
- NUMERIC_SCALE(与 NUMERIC_PRECISION 相关);
- DATETIME_PRECISION;
据我了解,总是至少存在一个非 NULL 值的列,因此我们可以使用这些列来获得最大长度。我找不到有关此列用法的明确说明。例如,假设我的日期时间类型的 DATETIME_PRECISION 等于 3,我如何仅使用 INFORMATION_SCHEMA 表从“3”计算字符数?