Extraction de contenu textuel à partir de BLOB Oracle SQL
Lorsque vous travaillez avec Oracle SQL, vous pouvez rencontrer des situations dans lesquelles vous devez récupérer et afficher le texte contenu dans un BLOB (Binary Large Object). La requête par défaut pour récupérer les champs BLOB renvoie uniquement une référence à l'emplacement mémoire du BLOB, ce qui n'est pas la représentation textuelle souhaitée que vous recherchez.
Pour récupérer le contenu textuel d'un BLOB dans Oracle SQL, vous pouvez utiliser la combinaison des fonctions utl_raw.cast_to_varchar2() et dbms_lob.substr() comme suit :
<br>SELECT utl_raw.cast_to_varchar2(dbms_lob.substr(BLOB_FIELD))<br>FROM TABLE_WITH_BLOB<br>WHERE ID = '<row id>';<br>
Cette requête convertira le contenu BLOB en un type de données VARCHAR2, vous permettant d'afficher le texte. Cependant, notez qu'il a une limitation dans la mesure où il ne peut récupérer qu'un maximum de 32 767 caractères.
Vous pouvez également envisager de stocker des données texte dans des colonnes CLOB/NCLOB au lieu de BLOB, car elles sont spécifiquement conçues pour stocker des caractères. données basées. Les requêtes sur les champs CLOB renverraient directement du texte sans nécessiter de conversion supplémentaire.
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!