Use o Tablestore SDK for Java para ler valores DATETIME, DATE e TIME dos resultados de consultas SQL.
Pré-requisitos
Instale o Tablestore SDK for Java e inicialize um cliente.
Use a versão 5.16.0 ou posterior do Tablestore SDK for Java.
Descrição
Chame o método sqlQuery para executar uma instrução SELECT e use funções SQL de data e hora para converter valores numéricos em valores DATETIME, TIME ou DATE. A função from_unixtime aceita timestamps Unix em segundos.
SQLQueryResponse sqlQuery(SQLQueryRequest request)
O método getDateTime retorna um valor em UTC. Para usar um fuso horário diferente, chame withZoneSameInstant para converter o fuso horário.
O exemplo a seguir converte timestamps Unix em segundos da coluna event_time da tabela de mapeamento example_table em valores de data e hora e lê os valores convertidos pelo nome da coluna.
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);
}
Parâmetros
A classe SQLQueryRequest contém o seguinte parâmetro:
|
Nome |
Tipo |
Descrição |
|
query (obrigatório) |
String |
Instrução |
Resposta
O campo SQLQueryResponse.rows armazena o resultado serializado da consulta SQL. Chame getSQLResultSet() para obter o objeto SQLResultSet analisado e leia os valores de data e hora de SQLRow.
Métodos para leitura de valores de data e hora
|
Método |
Tipo de retorno |
Descrição |
|
|
ZonedDateTime |
Lê um valor |
|
|
ZonedDateTime |
Lê um valor |
|
|
Duration |
Lê um valor |
|
|
Duration |
Lê um valor |
|
|
LocalDate |
Lê um valor |
|
|
LocalDate |
Lê um valor |