Maison >base de données >tutoriel mysql >Comment convertir des données PostgreSQL JSONB en flotteurs pour des opérations mathématiques ?
Dans PostgreSQL, tenter d'effectuer des opérations mathématiques avec des données JSONB entraîne souvent des erreurs telles que "l'opérateur n'existe pas" lors de la conversion en float n'est pas explicitement spécifié.
Pour résoudre ce problème, considérez les différentes récupérations de valeurs JSON opérateurs :
Étant donné que les flottants sont stockés sous forme de texte dans JSONB, il est nécessaire d'utiliser le ->> (Double Flèche) pour extraire la représentation sous forme de chaîne du float avant d'essayer de le transformer en float.
Par exemple, considérons la requête suivante :
SELECT (json_data->'position'->'lat')::float + 1.0 AS lat FROM updates LIMIT 5
Ici, l'opérateur -> L'opérateur (Flèche) est initialement utilisé pour extraire la « position » de l'objet JSON. Le ->> L'opérateur (Double Flèche) est ensuite utilisé pour récupérer la valeur de chaîne de « lat ». Enfin, l'opérateur de conversion ::float est utilisé pour convertir la chaîne en flottant.
En utilisant l'opérateur de récupération de valeur JSON approprié, vous pouvez convertir avec succès les valeurs JSONB en flottants dans vos requêtes PostgreSQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!