2017-10-20 64 views
1

Dans mon tableau, j'ai une colonne nommée facebook avec le type text [] avec array dedans. Par exemple:Ordre de Postgres par valeur de tableau

{{total_count,26861},{comment_count,94},{comment_plugin_count,0},{share_count,26631},{reaction_count,136}} 

J'utilise ma base de données avec datatables et quand je suis en train de trier ma table par facebook J'ai ceci:

enter image description here

Et cela est faux. Donc j'essaye d'obtenir de ce tableau seulement total_count comme valeur numérique. Maintenant, j'ai ceci:

regexp_matches(array_to_string(facebook, ' '), '(\d+).*') 

Mais cela renvoie des tableaux, par exemple:

enter image description here

J'ai donc ajouté :: numérique

regexp_matches(array_to_string(facebook, ' '), '(\d+).*')::numeric 

mais je suis obtenir une erreur:

cannot cast type text[] to numeric

Des idées pour y remédier?

+1

@ lad2025 Il était si simple ... MERCI BEAUCOUP !!! –

+0

Bien sûr, je l'ai posté comme réponse :) – lad2025

Répondre

1

cannot cast type text[] to numeric

Vous devez jeter à numeric[]:

regexp_matches(array_to_string(facebook, ' '), '(\d+).*')::numeric[] 
+1

Voilà! Maintenant, ça marche. –

+0

@ DanielKoczuła S'il vous plaît envisager d'accepter ma réponse [Comment fonctionne l'acceptation d'une réponse?] (Http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) :) – lad2025