2017-04-13 23 views
0
ResultSet res 

ResultSetMetaData rsmds= res.getMetaData(); 
int size = rsmds.getColumnDisplaySize(i); 

给出了列的宽度,我想要以字节为单位获取列的大小。我怎样才能做到这一点?如何从java jdbc的结果集中获取列的字节大小?

查询结果集:

SELECT * FROM LevelOne ORDER BY (SELECT NULL) OFFSET 0 ROWS FETCH NEXT 50000 ROWS ONLY; 

创建表查询:

CREATE TABLE Q_680_6([Id] INT, [Title] NVARCHAR(MAX) DEFAULT '', [Description] VARCHAR(MAX) Dta_db.dbo.Q_680_6([Id] INT, [Title] NVARCHAR(MAX) DEFAULT '', [Description] VARCHAR(MAX) DEFAULT '', [StartDate] DATETIME DEFAULT NULL, [EndDate] DATETIME DEFAULT NULL, [Lead] NVARCHAR(MAX) DEFAULT '', [CreatedOn] DATETIME DEFAULT NULL, [CreatedBy] INT, [ModifiedOn] DATETIME DEFAULT NULL, [ModifiedBy] INT) END 
+0

请发表您的'CREATE TABLE'语句。 –

+0

请查看我编辑过的问题@MikeNakis – svsLm

+0

请查看发布的查询@MikeNakis – svsLm

回答

1

您无法从结果集元数据中派生出来。您可以使用DatabaseMetaData.getColumns(...)CHAR_OCTET_LENGTH,但这可能不适用于除char/varchar以外的数据类型。

+0

为了记录,目前正式发布的用于SQL Server的JDBC驱动程序(v6.1)为'NVARCHAR(MAX)'列的'CHAR_OCTET_LENGTH'返回'2147483647'。 –

0

getColumnDisplaySize是有关结果集。这不是关于色谱柱规格的。

您可能会发现this相关讨论有用。

+0

请查看编辑过的问题@ santosh-patil – svsLm

相关问题