existe-t-il un moyen d'agréger BLOB (binaire) de deux enregistrements dans sqlite, lors de l'utilisation d'un GROUP BY.Comment concaténer des blobs?
déjà essayé withouth succès:
1) Fonction GROUP_CONCAT de sqlite Documentation, mais il ne fonctionne pas pour le type de données BLOB, il retourne seulement 1 octet même si les 2 étaient plus grandes que BLOBs cela.
SELECT id, GROUP_CONCAT(blob_col)
FROM table
GROUP BY id
2) Définition propre fonction SQL via la fonction Python Sqlite3 "de create_aggregate"
import sqlite3
class BlobConcat:
def __init__(self):
self.count = buffer("")
def step(self, value):
print str(value)
self.count += value[:]
def finalize(self):
return self.count
con = sqlite3.connect(dbPath)
con.create_aggregate("BLOB_CONCAT", 1, BlobConcat)
sql = """SELECT id, BLOB_CONCAT(blob_col)
FROM table
GROUP BY id"""
retour également seulement 1 octet.
bien, merci! – Hangon