Todos os produtos
Search
Central de documentação

Tablestore:Consultar dados de data e hora

Última atualização: Jul 03, 2026

Este tópico descreve como consultar dados de data e hora, apenas data e apenas hora na resposta de uma instrução SQL.

Pré-requisitos

Operações de API

A tabela a seguir descreve as operações de API disponíveis para consultar diferentes tipos de dados de data e hora. Selecione a operação adequada ao tipo de dado que deseja consultar.

Importante

O fuso horário padrão dos dados retornados pela operação getDateTime é UTC. Converta o fuso horário conforme os requisitos do seu negócio.

Tipo de tempo

Operação

Parâmetro

Tipo de valor de retorno

Data e hora

getDateTime

columnIndex (tipo INT)

java.time.ZonedDateTime

Data e hora

getDateTime

columnName (tipo STRING)

java.time.ZonedDateTime

Hora

getTime

columnIndex (tipo INT)

java.time.Duration

Hora

getTime

columnName (tipo STRING)

java.time.Duration

Data

getDate

columnIndex (tipo INT)

java.time.LocalDate

Data

getDate

columnName (tipo STRING)

java.time.LocalDate

Parâmetro

Parâmetro

Descrição

query

A instrução SQL. Configure este parâmetro de acordo com o recurso necessário.

Exemplo

Execute a instrução select from_unixtime(time_col) as datetime_value, time(from_unixtime(time_col)) as time_value, or date(from_unixtime(time_col)) as date_value from test_table limit 1 para consultar dados na coluna time_col da tabela test_table e convertê-los em formatos de data e hora, apenas hora e apenas data. O sistema retorna no máximo uma linha de dados, incluindo o tipo de solicitação, o esquema da resposta e o resultado da instrução SQL.

private static void queryData(SyncClient client) {
  // Create an SQL request. 
  SQLQueryRequest request = new SQLQueryRequest("select from_unixtime(time_col) as datetime_value,time(from_unixtime(time_col)) as time_value, date(from_unixtime(time_col)) as date_value from test_table limit 1");

  // Obtain the response to the SQL request. 
  SQLQueryResponse response = client.sqlQuery(request);

  // Obtain the SQL request type. 
  System.out.println("response type: " + response.getSQLStatementType());

  // Obtain the response schema of the SQL statement. 
  SQLTableMeta tableMeta = response.getSQLResultSet().getSQLTableMeta();
  System.out.println("response table meta: " + tableMeta.getSchema());

  // Obtain the response result of the SQL statement. 
  SQLResultSet resultSet = response.getSQLResultSet();
  System.out.println("response resultset:");
  while (resultSet.hasNext()) {
      SQLRow row = dateTypeSelectResultSet.next();
      System.out.println(row.getDateTime(0).withZoneSameInstant(ZoneId.systemDefault()) + ", " + row.getDateTime("datetime_value").withZoneSameInstant(ZoneId.systemDefault()) + ", " +
              row.getTime(1) + ", " + row.getTime("time_value") + ", " +
              row.getDate(2) + ", " + row.getDate("date_value"));
  }
}

Resposta de exemplo:

date type select query begin
response type: SQL_SELECT
response table meta: [datetime_value:DATETIME, time_value:TIME, date_value:DATE]
response resultset:
2023-11-09T10:14:00.010+08:00[Asia/Shanghai], 2023-11-09T10:14:00.010+08:00[Asia/Shanghai], PT10H14M0.01S, PT10H14M0.01S, 2023-11-09, 2023-11-09
select query end