Utilisez le SDK Tablestore pour Java afin de lire les valeurs DATETIME, DATE et TIME à partir des résultats de requêtes SQL.
Prérequis
Installez le SDK Tablestore pour Java et initialisez un client.
Utilisez la version 5.16.0 ou ultérieure du SDK Tablestore pour Java.
Description
Appelez la méthode sqlQuery pour exécuter une instruction SELECT et utilisez les fonctions de date et d'heure SQL pour convertir les valeurs numériques en valeurs DATETIME, TIME ou DATE. La fonction from_unixtime accepte les horodatages Unix exprimés en secondes.
SQLQueryResponse sqlQuery(SQLQueryRequest request)
La méthode getDateTime renvoie une valeur au format UTC. Pour utiliser un autre fuseau horaire, appelez withZoneSameInstant afin de convertir le fuseau horaire.
L'exemple suivant convertit les horodatages Unix en secondes de la colonne event_time de la table de mappage example_table en valeurs de date et d'heure, puis lit ces valeurs converties par nom de colonne.
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);
}
Paramètres
L'objet SQLQueryRequest contient le paramètre suivant.
|
Nom |
Type |
Description |
|
query (obligatoire) |
String |
L'instruction |
Réponse
Le champ SQLQueryResponse.rows stocke le résultat sérialisé de la requête SQL. Appelez getSQLResultSet() pour obtenir l'objet SQLResultSet analysé, puis lisez les valeurs de date et d'heure à partir de l'objet SQLRow.
Méthodes de lecture des valeurs de date et d'heure
|
Méthode |
Type de retour |
Description |
|
|
ZonedDateTime |
Lit une valeur |
|
|
ZonedDateTime |
Lit une valeur |
|
|
Duration |
Lit une valeur |
|
|
Duration |
Lit une valeur |
|
|
LocalDate |
Lit une valeur |
|
|
LocalDate |
Lit une valeur |