libpq-fe
でライブラリを使用しC
てpostgresデータベースに接続しています。タイムスタンプを返す
コードを使用してストアドプロシージャを呼び出しています。
このタイムスタンプをchar配列に保存したいと思います。ただし、そのためには、配列を宣言できるように、最初にタイムスタンプのサイズを知る必要があります。私が使用しているサイズを取得するには。あなたはそれについてもっとここで見つけることができます。 libpqfe
int PQfsize(PGresult *res, int field_index);
値を返します8
。ただし、実際にはタイムスタンプのサイズ(ゾーンなし)は19
です。
PQfsizeが間違った値を返すのはなぜですか?
タイムスタンプのサイズは一定であり、配列を直接宣言してから、を使用して値を取得できますが、PQgetvalue
サイズが固定されていないフィールドの配列を宣言する方法を知っています。
フィールドを取得しPGresult
て任意の変数に格納するにはどうすればよいですか?