成功時0、エラーが発生した時-1が返ります。型として実装されていますので、この変換ではオーバーフローは起きません。日付型Cの日付型を使用して、プログラムからSQLの日付型を取り扱うことができます。日付/時刻データ型を参照してください。日付型を操作するために以下の関数を使用することができます:PGTYPESdate_from_timestampタイムスタンプから日付部分を取り出します。dt);この関数は唯一の引数としてタイムスタンプを受付け、そこから日付部分を取り出します。PGTYPESdate_from_ascテキスト表現から日付型に変換します。**endptr);この関数はCのchar*型文字列strとCのchar*型文字列endptrへのポインタを受付けます。現在ECPGは文字列全体を解析しますので、現時点では*endptrに最初の無効な文字のアドレスを格納することをサポートしません。このためendptrを安全にNULLにすることができます。この関数が常にMDY書式の日付を前提としている点に注意してください。現在ECPGにはこれを変更するための変数がありません。表34.2「有効なPGTYPESdate_from_ascの入力書式」に許される入力書式を示します。紀元前99年PGTYPESdate_to_asc日付型変数のテキスト表現を返します。dDate);この関数は唯一の引数として日付型dDateを受付けます。この関数は1999-01-18、つまりYYYY-MM-DD書式で日付を出力します。PGTYPESdate_julmdy日付型の変数から、日、月、年の値を取り出します。*mdy);この関数は日付型のdと、3つの整数値を持つ配列mdyへのポインタを受付けます。この変数名はその並びを表し、mdy[0]には月数、mdy[1]には日数が、mdy[2]には年が入ります。PGTYPESdate_mdyjul日付の日、月、年を指定した3つの整数からなる配列から日付値を作成します。*jdate);この関数は、1番目の引数として3つの整数からなる配列(mdy)、2番目の引数として処理結果を格納する日付型の変数へのポインタを受付けます。PGTYPESdate_dayofweek日付値から週内日数を表す数を返します。d);この関数は唯一の引数としてdate型変数dを受付け、その日付の週内日数を表す整数を返します。土曜PGTYPESdate_today現在の日付を取得します。*d);この関数は現在の日付に設定されるdate型変数(d)を指し示すポインタを受付けます。PGTYPESdate_fmt_ascdate型変数を書式マスクを使用したテキスト表現に変換します。*outbuf);この関数は変換対象のdate型(dDate)、書式マスク(fmtstring)、日付のテキスト表現を格納するための文字列(outbuf)を受付けます。成功時に0、エラーが発生した場合は負の値が返ります。以下のリテラルを使用して、フィールドを指定することができます。