当我输入“Describe [someTable];”很长的列(超过20个字符)的列名被截断,并使用&符号。例如,我有两列似乎被命名为WowThisIsAVeryLongC&。
当我运行select *语句时,列名也会被截断,因为它们中的数据只有2或3个字符长。我尝试使用系统调用表并选择将数据导出为CSV,但那些不会给我任何标题信息。 MaximumDisplayWidth仅更改显示的数据的宽度。我找不到任何方法来找出这些列的正确名称。这是我继承的数据库,所以我有点卡住了。
任何和所有的帮助将不胜感激。
尝试在IJ中使用help命令。这应该指向你MaximumDisplayWidth Command还有ij.maximumDisplayWidth property
如果您使用的是Derby Release 10.10+,则可以使用databaseMetaData工具。
这里几乎与describe '*'
命令相同的输出:
ij> maximumdisplaywidth 1000;
ij> call syscs_util.syscs_register_tool( 'databaseMetaData', true );
Statement executed.
ij> select t.table_schem, t.table_name, c.column_name, c.type_name, c.DECIMAL_DIGITS, c.NUM_PREC_RADIX, c.COLUMN_SIZE, c.COLUMN_DEF, c.CHAR_OCTET_LENGTH, c.IS_NULLABLE
from table( getTables( null, '%', '%' ) ) t,
table( getColumns( null, '%', '%', '%') ) c
where c.table_schem = t.table_schem
and c.table_name = t.table_name
and t.table_type = 'TABLE'
order by table_schem, table_name, column_name;
可以从java.sql.DatabaseMetaData接口获取用于SQL子句的其他表和列属性及其相应的方法名称和属性(请参阅Java API)。
(有关详细信息,请参阅“Derby工具和实用程序指南”中的“使用databaseMetaData可选工具”)。