Conversions entre Varbinary et Char/Varchar dans MySQL
La conversion d'un champ varbinary en un type char ou varchar est cruciale dans les situations où les données sont requis à différentes fins.
De Varbinary à Varchar
Pour convertir de varbinary en varchar, MySQL propose les fonctions CAST ou CONVERT :
<code class="sql">CAST(foo AS CHAR(100)) CONVERT(foo, CHAR(100))</code>
Cependant, notez que le casting direct vers varchar n'est pas possible. Un bug MySQL signalé empêche cette conversion.
Types de conversion pris en charge
Les fonctions CAST et CONVERT prennent en charge les types de conversion suivants :
Source Type | Destination Type |
---|---|
BINARY[(N)] | CHAR[(N)] |
CHAR[(N)] | DATE |
DATE | DATETIME |
DECIMAL[(M[,D])] | SIGNED [INTEGER] |
SIGNED [INTEGER] | TIME |
UNSIGNED [INTEGER] | None (not supported) |
Surmonter le problème de diffusion de Varchar
Étant donné que la diffusion directe vers varchar n'est pas prise en charge, une solution de contournement est disponible :
<code class="sql">SELECT CONCAT(CAST(foo AS CHAR(100)), '') AS varchar_converted</code>
Cette solution de contournement ajoute effectivement un vide chaîne à la valeur char convertie, ce qui donne une valeur varchar.
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!