2013-04-18 54 views
0

我想從使用postgres C api函數的查詢中獲取列大小。postgres如何獲取char varchar和文本數據類型的列大小

CREATE TABLE char_length_test (c char(3), vc varchar(5), t text) 

例如,我有這個疑問:

SELECT c, vc, repeat(c, 1), t from char_length_test 

我得到正確的類型,但我不能弄清楚如何獲得列大小。我試過使用PQfsizePQgetlength

  • PQfsize返回-1,根據postgres的文檔而我需要列大小,這意味着可變大小。
  • PQgetlength返回0,這很好,因爲表不包含任何數據,儘管它不是列大小。

我期望得到的長度爲3c5爲「VC」和repeat(c, 1)功能和t

說實話,我期待類似mysql_fetch_fields功能的大值。

+1

也許PQfmod爲varchar(n)?不知道。 –

+0

感謝提示!^_^ – aisbaa

+0

順便說一句,如果你將發佈的答案,我會標記它-_ ^ – aisbaa

回答

0

我認爲您正在尋找PQfmod

修飾符值的解釋是類型特定的;它們通常表示精度或大小限制。值-1用於指示「無可用信息」。大多數數據類型不使用修飾符,在這種情況下,值始終爲-1。

相關問題