Conversie implicită

Funcții pentru manipularea datelor în SQL Server

Ana Voicu

Data Engineer

Compararea datelor

Rețineți: pentru a compara două valori, acestea trebuie să fie de același tip.

În caz contrar:

  • SQL Server convertește dintr-un tip în altul (IMPLICIT)
  • Dezvoltatorul convertește datele explicit (EXPLICIT)
Funcții pentru manipularea datelor în SQL Server

Exemplu de conversii posibile

SELECT 
    company
    bean_type,
    cocoa_percent
FROM ratings;
Funcții pentru manipularea datelor în SQL Server

Exemplu de conversii posibile

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        |
| ...     | ...        | ...           |
Funcții pentru manipularea datelor în SQL Server

Exemplu de conversii posibile

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        |
| ...     | ...        | ...           |
Funcții pentru manipularea datelor în SQL Server

Exemplu de conversii posibile

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

| company | bean_type  | cocoa_percent |
|---------|------------|---------------|
| ...     | ...        | ...           |
Funcții pentru manipularea datelor în SQL Server

Exemplu de conversii posibile

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


| result                                         | 
|------------------------------------------------|
| Error converting data type varchar to numeric. |
Funcții pentru manipularea datelor în SQL Server

Exemplu de conversii posibile

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        |
| ...     | ...        | ...           |
Funcții pentru manipularea datelor în SQL Server

Precedența tipurilor de date

Precedența tipurilor de date

Funcții pentru manipularea datelor în SQL Server

Precedența tipurilor de date

Funcții pentru manipularea datelor în SQL Server

Conversie implicită între tipuri de date

Tabel de conversie implicită

Funcții pentru manipularea datelor în SQL Server

Impactul conversiei implicite asupra performanței

  • Conversia implicită se efectuează pentru fiecare rând al interogării
  • Conversia implicită poate fi prevenită printr-o schemă bună a bazei de date.
Funcții pentru manipularea datelor în SQL Server

Să exersăm!

Funcții pentru manipularea datelor în SQL Server

Preparing Video For Download...