gpt4 book ai didi

sql - Derby 列名在使用 ij 时被截断

转载 作者:行者123 更新时间:2023-12-02 04:54:59 26 4
gpt4 key购买 nike

当我键入“Describe [someTable];”时非常长的列(超过 20 个字符)的列名被截断,并使用 & 符号。例如,我有两列似乎名为 WowThisIsAVeryLongC&。

当我运行 select * 语句时,列名也被截断,因为其中的数据只有 2 或 3 个字符长。我尝试使用表的系统调用并选择将数据导出到 CSV,但这些没有给我任何标题信息。 MaximumDisplayWidth 仅更改显示数据的宽度。我找不到任何方法来找出这些列的正确名称。这是我继承的数据库,所以我有点卡住了。

我们将不胜感激任何帮助。

最佳答案

如果您使用的是 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;

在 SQL 子句中使用的其他表和列属性可以从 java.sql.DatabaseMetaData 接口(interface)及其相应的方法名称和属性中获取(请参阅 Java API)。

(有关详细信息,请参阅“Derby 工具和实用程序指南”中的“使用 databaseMetaData 可选工具”)。

关于sql - Derby 列名在使用 ij 时被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23702272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com