Maison  >  Article  >  base de données  >  MS SQL Server - Conversion de types

MS SQL Server - Conversion de types

PHPz
PHPzavant
2023-09-03 08:05:021336parcourir

MS SQL Server - 类型转换

Lorsque nous traitons des données dans MS SQL Server, nous devons souvent effectuer des calculs ou filtrer les résultats en fonction du type de données. La conversion correcte des types de données garantit que nos calculs sont précis et que les requêtes renvoient les résultats requis. Dans cet article, nous aborderons diverses conversions de types dans MS SQL Server.

Types de données intégrés dans MS SQL Server

MS SQL Server dispose de différents types de données intégrés pour stocker différents types de données. Ce sont des types de données intégrés courants dans MS SQL Server -

  • int : utilisé pour stocker des entiers.

  • decimal : type de données utilisé pour stocker des nombres décimaux.

  • varchar : utilisé pour stocker des chaînes de longueur variable.

  • dateTime : utilisé pour stocker les valeurs de date et d'heure.

  • bit : utilisé pour stocker les valeurs booléennes.

Exemple

Considérez un tableau intitulé « Produits ». Il contient des informations sur le produit, le nom, le prix et la quantité en stock. Nous pouvons définir la colonne "prix" comme type de données décimal et la colonne "quantity_in_stock" comme type de données int.

Conversion implicite du type de données

MS SQL Server convertira automatiquement un type de données en un autre type de données si nécessaire lors de l'exécution d'opérations sur différents types de données. C'est ce qu'on appelle la conversion implicite du type de données.

Exemple

Considérez un tableau nommé « ventes ». Il contient des informations sur les ventes, les prix de vente et les quantités vendues. Écrivez une requête pour calculer le chiffre d'affaires total comme indiqué ci-dessous −

SELECT sale_price * quantity_sold AS total_revenue FROM sales

Dans cette requête, MS SQL Server convertira automatiquement la valeur deQuantity_sold du type de données int en type de données décimal. Ensuite, faites la multiplication. Puisque nous ne pouvons pas multiplier int et décimal sans d'abord convertir l'une des valeurs.

Conversion explicite du type de données

Nous pouvons également convertir explicitement les types de données à l'aide des fonctions CAST et CONVERT.

  • Fonction CASTConvertit une expression d'un type de données en un autre type de données. La syntaxe de la fonction CAST est la suivante :

CAST ( expression AS data_type [ ( length ) ] )
  • Fonction CONVERTConvertit une expression d'un type de données en un autre type de données avec un style de formatage spécifique. La syntaxe de la fonction CONVERT est la suivante :

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

Exemple

Considérez un tableau appelé « commandes ». Il contient des informations sur la commande, notamment la date de la commande. Écrivez une requête pour récupérer la date de commande sous forme de chaîne au format "MM/JJ/AAAA" comme indiqué ci-dessous -

SELECT CONVERT(varchar, order_date, 101) AS 'Order Date' FROM orders

Dans cette requête, nous utilisons la fonction CONVERT pour convertir la valeur order_date en type de données varchar avec le style de format 101. Il représente le format « MM/JJ/AAAA ».

Convertir les types de données dans les requêtes

Nous pouvons également utiliser la conversion de types de données dans les requêtes pour convertir les types de données en différents types de données. Ceci est particulièrement utile lors du filtrage des résultats de requête.

Exemple

Considérez le tableau "produits" de l'exemple précédent. Vous souhaitez filtrer les résultats pour afficher uniquement les produits dont le prix est inférieur à 10. La requête ressemblera à ceci

SELECT *
FROM products
WHERE CAST(price AS int) < 10

Dans cette requête, nous avons utilisé la fonction CAST pour convertir la valeur du prix en type de données int. De cette façon, nous pouvons le comparer à la valeur entière 10.

Gérer les erreurs de conversion

Parfois, des erreurs de conversion peuvent survenir lors de la conversion des types de données. Par exemple, si nous essayons de convertir une valeur de chaîne en entier et que la chaîne n’est pas une valeur entière valide. Par conséquent, MS SQL Server génère une erreur de conversion. Pour gérer ces erreurs, nous pouvons utiliser la fonction TRY_CONVERT. Il tente de convertir une valeur dans le type de données spécifié. Si la conversion échoue, NULL est renvoyé.

Exemple

Considérez un tableau appelé « employés ». Il contient des informations sur l'employé, son identifiant et sa date d'embauche. Vous souhaitez filtrer les résultats pour afficher uniquement les employés embauchés avant une date précise. Mais la date d'embauche est stockée sous forme de données varchar. Nous pouvons écrire une requête comme celle-ci -

SELECT *
FROM employees
WHERE TRY_CONVERT(date, hire_date) < '01/01/2022'

Dans cette requête, nous avons utilisé la fonction TRY_CONVERT. Il tente de convertir la valeur de Hire_date en type de données date. Si la conversion échoue, la fonction renvoie NULL. Cela empêche la requête de générer des erreurs de conversion.

Conclusion

MS SQL Server possède des types de données et des fonctions intégrées pour effectuer des conversions de types. Vous devez savoir que la conversion correcte des types de données est essentielle pour rédiger des requêtes précises et efficaces. En utilisant les techniques décrites dans cet article, vous pouvez vous assurer que vos requêtes renvoient les résultats dont vous avez besoin, même lorsque vous travaillez avec différents types de données.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer