Todos os produtos
Search
Central de documentação

Tablestore:Consulta de intervalo

Última atualização: Jul 03, 2026

Use a consulta de intervalo para buscar dados dentro de um intervalo especificado. Se o tipo de campo for TEXT, os valores serão tokenizados. Uma linha atenderá às condições da consulta quando pelo menos um token corresponder ao intervalo definido.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

TableName

Nome da tabela de dados.

IndexName

Nome do índice de pesquisa.

Query

Tipo da consulta. Defina como RangeQuery.

FieldName

Nome do campo a ser correspondido.

From

Valor inicial da consulta.

Use GT ou GTE para especificar o intervalo. GT indica valores maiores que o valor especificado. GTE indica valores maiores ou iguais ao valor especificado.

To

Valor final da consulta.

Use LT ou LTE para especificar o intervalo. LT indica valores menores que o valor especificado. LTE indica valores menores ou iguais ao valor especificado.

IncludeLower

Indica se o valor do parâmetro From deve ser incluído na resposta. Este parâmetro é do tipo BOOLEAN.

IncludeUpper

Indica se o valor do parâmetro To deve ser incluído na resposta. Este parâmetro é do tipo BOOLEAN.

Sort

Método de ordenação. Para mais informações, consulte Realizar ordenação e paginação.

ColumnsToGet

Define se todas as colunas de cada linha correspondente devem ser retornadas. Especifique os parâmetros ReturnAll e Columns.

Por padrão, ReturnAll é false e nem todas as colunas são retornadas. Nesse caso, use Columns para especificar as colunas desejadas. Sem a definição de Columns, apenas as colunas de chave primária são retornadas.

Se ReturnAll for true, todas as colunas serão retornadas.

Código de exemplo

O exemplo a seguir consulta linhas com valor de Col_Long maior que 3. O Tablestore ordena os resultados com base na coluna Col_Long em ordem decrescente.

/**
 * Query the rows in which the value of the Col_Long column is greater than 3 in a table. Tablestore sorts the query results based on the value of the Col_Long column in descending order. 
 */
func RangeQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    searchQuery := search.NewSearchQuery()
    rangeQuery := &search.RangeQuery{} // Set the query type to RangeQuery. 
    rangeQuery.FieldName = "Col_Long" // Specify the name of the column that you want to query.
    rangeQuery.GT(3) // Specify the range of the column value, which is greater than 3. 
    searchQuery.SetQuery(rangeQuery)
    // Sort the query results based on the value of the Col_Long column in descending order. 
    searchQuery.SetSort(&search.Sort{
        []search.Sorter{
            &search.FieldSort{
                FieldName: "Col_Long",
                Order:     search.SortOrder_DESC.Enum(),
            },
        },
    })
    searchRequest.SetSearchQuery(searchQuery)
    searchRequest.SetColumnsToGet(&tablestore.ColumnsToGet{
        ReturnAll:true,
    })
    searchResponse, err := client.Search(searchRequest)
    if err != nil {
        fmt.Printf("%#v", err)
        return
    }
    fmt.Println("IsAllSuccess: ", searchResponse.IsAllSuccess) // Check whether all rows that meet the query conditions are returned. 
    fmt.Println("RowCount: ", len(searchResponse.Rows))
    for _, row := range searchResponse.Rows {
        jsonBody, err := json.Marshal(row)
        if err != nil {
            panic(err)
        }
        fmt.Println("Row: ", string(jsonBody))
    }
}

Perguntas frequentes

Referências