Gunakan Tablestore SDK for Java untuk membaca nilai DATETIME, DATE, dan TIME dari hasil kueri SQL.
Prasyarat
Instal Tablestore SDK for Java dan inisialisasi klien.
Gunakan Tablestore SDK for Java versi 5.16.0 atau yang lebih baru.
Deskripsi
Panggil metode sqlQuery untuk mengeksekusi pernyataan SELECT, lalu gunakan fungsi tanggal dan waktu SQL untuk mengonversi nilai numerik menjadi nilai DATETIME, TIME, atau DATE. Fungsi from_unixtime menerima timestamp Unix dalam satuan detik.
SQLQueryResponse sqlQuery(SQLQueryRequest request)
getDateTime mengembalikan nilai dalam UTC. Untuk menggunakan zona waktu lain, panggil withZoneSameInstant guna mengonversi ke zona waktu tersebut.
Contoh berikut mengonversi timestamp Unix dalam satuan detik dari kolom event_time pada tabel pemetaan example_table menjadi nilai tanggal dan waktu, lalu membaca nilai yang telah dikonversi berdasarkan nama kolom.
String query = "SELECT "
+ "from_unixtime(event_time) AS datetime_value, "
+ "time(from_unixtime(event_time)) AS time_value, "
+ "date(from_unixtime(event_time)) AS date_value "
+ "FROM example_table WHERE tenant_id = 1 LIMIT 1";
SQLQueryRequest request = new SQLQueryRequest(query);
SQLQueryResponse response = client.sqlQuery(request);
SQLResultSet resultSet = response.getSQLResultSet();
while (resultSet.hasNext()) {
SQLRow row = resultSet.next();
ZonedDateTime dateTime = row.getDateTime("datetime_value");
Duration time = row.getTime("time_value");
LocalDate date = row.getDate("date_value");
System.out.println(dateTime.withZoneSameInstant(ZoneId.of("Asia/Shanghai")));
System.out.println(time);
System.out.println(date);
}
Parameter
SQLQueryRequest berisi parameter berikut.
|
Nama |
Type |
Deskripsi |
|
query (wajib) |
String |
Pernyataan |
Respons
SQLQueryResponse.rows menyimpan hasil kueri SQL yang telah diserialisasi. Panggil getSQLResultSet() untuk mendapatkan objek SQLResultSet yang telah diurai, lalu baca nilai tanggal dan waktu dari SQLRow.
Metode untuk membaca nilai tanggal dan waktu
|
Metode |
Tipe kembalian |
Deskripsi |
|
|
ZonedDateTime |
Membaca nilai |
|
|
ZonedDateTime |
Membaca nilai |
|
|
Duration |
Membaca nilai |
|
|
Duration |
Membaca nilai |
|
|
LocalDate |
Membaca nilai |
|
|
LocalDate |
Membaca nilai |