Recherche en Texte-entier (Full-text) dans MySQL <<< |
Fonctions de transtypage | Autres fonctions >>> |
13 Fonctions à utiliser dans les clauses SELECT et WHERE Manuel de Référence MySQL 4.1 : Version Française . Opérateurs et fonctions tout-types . Les fonctions de contrôle . Fonctions de chaînes de caractères . Fonctions numériques . Fonctions de dates et d'heures . Recherche en Texte-entier (Full-text) dans MySQL ->Fonctions de transtypage . Autres fonctions . Fonctions et options à utiliser dans les clauses GROUP BY |
13.7 Fonctions de transtypageLes fonctions CAST() et CONVERT() peuvent être utilisées pour convertir une donnée d'un type en un autre. Leurs syntaxes sont :
CAST() et CONVERT() sont disponibles depuis MySQL 4.0.2. La conversion de type CHAR est disponible depuis la version 4.0.6. La forme USING de CONVERT() est disponible depuis la version 4.1.0. CAST() et CONVERT(... USING ...) sont des syntaxes SQL-99. La forme sans USING de CONVERT() est une syntaxe ODBC.La fonction de transtypage est très pratique lorsque vous voulez créer une colonne avec un type spécifique dans une requête CREATE ... SELECT :
En MySQL 4.1.0, la valeur est convertie dans le type de colonne demandé, puis il est envoyé à l'utilisateur. Cette fonctionnalité est une nouveaut du protocole 4.1, qui envoie les données au client :
N'utilisez pas CAST() pour extraire des données dans différents formats, mais utilisez plutôt LEFT ou EXTRACT() . Fonctions de date et heure . Pour transformer une chaîne de caractères en une valeur numérique, vous ne devez rien faire de particulier ; juste utiliser la valeur de la chaîne en lieu et place de la valeur numérique :
Si vous utilisez un nombre dans un contexte de chaîne, le nombre sera automatiquement converti en chaîne binaire ( BINARY ).
Les fonctions CAST() et CONVERT() ont été ajoutées dans la version 4.0.2 de MySQL. Le rendu des valeurs non signées a été modifié dans la version 4.0 de MySQL pour pouvoir supporter correctement les valeurs de type BIGINT . Si vous voulez utiliser du code fonctionnant dans la version 4.0 et la version 3.23 de MySQL (dans ce cas, vous ne pouvez probablement pas utiliser les fonctions de transtypage), vous pouvez utiliser l'astuce suivante pour avoir un résultat signé lorsque vous soustrayez deux colonnes d'entier non signé :
CONVERT() avec USING est utilisé pour convertir des données entre différents jeux de caractères. En MySQL, les noms de transcodage sont les mêmes que les noms des jeux de caractères. Par exemple, cette commande convertit la chaîne 'abc' codé dans le jeu par défaut, en son équivalent utf8 :
|
<< | Fonctions de transtypage | >> |
Recherche en Texte-entier (Full-text) dans MySQL | Fonctions à utiliser dans les clauses SELECT et WHERE | Autres fonctions |