14.2.2.5 PGQL結果セットからの日時へのアクセス

PGQL結果セットから日時値を取得するには、次のAPIを使用できます。

LocalDate getDate(int elementIdx)
LocalDate getDate(String variableName)
LocalTime getTime(int elementIdx)
LocalTime getTime(String variableName)
LocalDateTime getTimestamp(int elementIdx)
LocalDateTime getTimestamp(String variableName)
OffsetTime getTimeWithTimezone(int elementIdx)
OffsetTime getTimeWithTimezone(String variableName)
OffsetDateTime getTimestampWithTimezone(int elementIdx)
OffsetDateTime getTimestampWithTimezone(String variableName)

次の例では、グラフ内のすべての個人の誕生日を次のように出力します。

opg4j> var resultSet = session.queryPgql("""
  SELECT n.name, n.date_of_birth
    FROM MATCH (n) ON people_graph
ORDER BY n.name
""")
opg4j> while (resultSet.next()) {
...>  System.out.println(resultSet.getString(1) + " has birthday " + resultSet.getDate(2));
...> }
opg4j> resultSet.close()
import java.time.LocalDate;
import oracle.pgx.api.*;
...
PgqlResultSet resultSet = session.queryPgql(
  "  SELECT n.name, n.date_of_birth\n" +
  "    FROM MATCH (n) ON people_graph\n" +
  "ORDER BY n.name");

while (resultSet.next()) {
  System.out.println(resultSet.getString(1) + " has birthday " + resultSet.getDate(2));
}

resultSet.close();

問合せの結果は次のようになります。

Judy has birthday 1989-01-15
Klara has birthday 2001-01-29
Pete has birthday 1995-08-01

新しいjava.timeパッケージのJava型に加えて、レガシーjava.util.Dateも次のAPIを介してサポートされます。

Date getLegacyDate(int elementIdx)
Date getLegacyDate(String variableName)

ノート:

レガシーjava.util.Dateには日付、時間およびタイムスタンプを格納できるため、この2つのAPIを使用して、5つの日時型のいずれの値にもアクセスできます。