Conversion implicite

Fonctions pour manipuler les 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 d'un type à l'autre (IMPLICITE)
  • Le développeur convertit les données (EXPLICITE)
Fonctions pour manipuler les données dans SQL Server

Exemple de conversions possibles

SELECT 
    company
    bean_type,
    cocoa_percent
FROM ratings;
Fonctions pour manipuler les 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 pour manipuler les 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 pour manipuler les 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 pour manipuler les 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 pour manipuler les 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 pour manipuler les données dans SQL Server

Ordre de priorité des types de données

Ordre de priorité des types de données

Fonctions pour manipuler les données dans SQL Server

Ordre de priorité des types de données

Ordre de priorité des types de données, du plus élevé au plus faible

Fonctions pour manipuler les données dans SQL Server

Conversion implicite entre types de données

Table de conversion implicite

Fonctions pour manipuler les données dans SQL Server

Impact sur la performance 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 pour manipuler les données dans SQL Server

Passons à la pratique !

Fonctions pour manipuler les données dans SQL Server

Preparing Video For Download...