Conversion implicite

Fonctions de manipulation des données dans SQL Server

Ana Voicu

Data Engineer

Comparaison de données

À retenir : pour comparer deux valeurs, elles doivent être du même type.

Sinon :

  • SQL Server convertit un type en un autre (IMPLICITE)
  • Le développeur convertit les données de façon explicite (EXPLICITE)
Fonctions de manipulation des données dans SQL Server

Exemple de conversions possibles

SELECT 
    company
    bean_type,
    cocoa_percent
FROM ratings;
Fonctions de manipulation des données dans SQL Server

Exemple de conversions possibles

SELECT 
    company
    bean_type,
    cocoa_percent
FROM ratings
WHERE cocoa_percent > 0.5; 

| company | bean_type  | cocoa_percent |
|---------|------------|---------------|
| Amedei  | Blend      | 0.7000        |
| Bonnat  | Trinitario | 0.7500        |
| ...     | ...        | ...           |
Fonctions de manipulation des données dans SQL Server

Exemple de conversions possibles

SELECT 
    company
    bean_type,
    cocoa_percent
FROM ratings
WHERE cocoa_percent > -2; 

| company | bean_type  | cocoa_percent |
|---------|------------|---------------|
| Amedei  | Blend      | 0.7000        |
| Bonnat  | Trinitario | 0.7500        |
| ...     | ...        | ...           |
Fonctions de manipulation des données dans SQL Server

Exemple de conversions possibles

SELECT 
    company
    bean_type,
    cocoa_percent
FROM ratings
WHERE cocoa_percent > GETDATE();

| company | bean_type  | cocoa_percent |
|---------|------------|---------------|
| ...     | ...        | ...           |
Fonctions de manipulation des données dans SQL Server

Exemple de conversions possibles

SELECT 
    company
    bean_type,
    cocoa_percent
FROM ratings
WHERE cocoa_percent > 'A';


| result                                         | 
|------------------------------------------------|
| Error converting data type varchar to numeric. |
Fonctions de manipulation des données dans SQL Server

Exemple de conversions possibles

SELECT 
    company
    bean_type,
    cocoa_percent
FROM ratings
WHERE cocoa_percent > '0.5';
| company | bean_type  | cocoa_percent |
|---------|------------|---------------|
| Amedei  | Blend      | 0.7000        |
| Bonnat  | Trinitario | 0.7500        |
| ...     | ...        | ...           |
Fonctions de manipulation des données dans SQL Server

Priorité des types de données

Priorité des types de données

Fonctions de manipulation des données dans SQL Server

Priorité des types de données

Fonctions de manipulation des données dans SQL Server

Conversion implicite entre types de données

Table de conversion implicite

Fonctions de manipulation des données dans SQL Server

Impact sur les performances de la conversion implicite

  • La conversion implicite est effectuée pour chaque ligne de la requête
  • Une bonne conception du schéma peut éviter la conversion implicite.
Fonctions de manipulation des données dans SQL Server

Passons à la pratique !

Fonctions de manipulation des données dans SQL Server

Preparing Video For Download...