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)
次の例では、グラフ内のすべての個人の誕生日を次のように出力します。
JShellを使用した日時値の取得
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()
Javaを使用した日時値の取得
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つの日時型のいずれの値にもアクセスできます。
親トピック: 日時データ型の使用