La conversion est une tâche répandue pour les programmeurs et les ingénieurs de base de données. Cet article explorera comment convertir un type VARCHAR en un type numérique en SQL standard.
Il faut prendre en considération que lorsque nous disons SQL standard, nous entendons des techniques et des méthodes universellement adoptées par les moteurs de base de données relationnels.
Méthode de distribution SQL
Dans SQL standard, la dactylographie est accomplie en utilisant la fonction Cast (). La syntaxe de fonction est comme indiqué:
Cast (expression comme t_type [(longueur)]);La fonction prend trois paramètres principaux:
SQL convertit varchar en int
Considérez l'exemple ci-dessous qui convertit le type VARCHAR en un type INT64.
Sélectionner Cast ('344' comme int64);L'exemple de requête doit renvoyer la valeur convertie en int comme indiqué:
int4SQL Convert Varchar en numérique
Pour convertir un type VARCHAR en un type numérique, modifiez le type cible comme numérique ou binnutérique comme indiqué dans l'exemple ci-dessous:
Sélectionnez Cast ('344' comme numérique) comme numérique;Les requêtes ci-dessus doivent renvoyer la valeur spécifiée convertie en numérique et numérique.
Notez que pour vous assurer que votre moteur de base de données prend en charge votre type de cible; Sinon, il renverra une erreur.
SQL convertit varchar en flotteur
Si vous avez Varchar à virgule flottante, vous pouvez le convertir en un type de flotteur, comme indiqué dans l'exemple ci-dessous:
Sélectionner le casting ('3.14159 'comme flottant) comme flottant;Le code doit renvoyer le type de flotteur du varchar spécifié. L'exemple de sortie est comme indiqué ci-dessous:
FLOTTERCasting SQL en toute sécurité
Vous êtes-vous demandé ce qui se passe si vous essayez de convertir une chaîne non numérique en un type numérique? Considérez l'exemple ci-dessous:
Sélectionnez Cast ('Hello' comme int64) comme var;Si vous essayez d'exécuter la requête ci-dessus, il échouera car le type VARCHAR spécifié ne peut pas être converti en int.
Pour empêcher la requête d'échouer si la conversion n'est pas prise en charge, nous pouvons utiliser la méthode Safe_Cast.
La fonction se comporte de manière similaire à la fonction coulée, sauf qu'elle n'échoue pas si la conversion échoue. Au lieu de cela, il renvoie NULL comme indiqué dans l'exemple ci-dessous:
Sélectionnez Safe_Cast ('Hello' comme int64) comme nan;Au lieu d'une erreur, la requête ci-dessus doit revenir:
"Nan": nullNOTE: La méthode Safe_Cast est prise en charge dans SQL standard. Certains moteurs de base de données peuvent implémenter les procédures différemment. Par exemple, dans SQL Server, la fonction safe_cast () est renommée Try_cast ou try_convert.
Conclusion
Dans ce tutoriel, nous avons discuté de la façon d'effectuer le casting de type dans SQL standard. Par exemple, nous avons discuté de la conversion de Varchar en int64, numérique, bintumère et float64. Nous avons également couvert comment effectuer un casting sûr pour les scénarios où le casting de type peut entraîner une erreur.