Utilizarea funcțiilor de conversie

Introducere în Oracle SQL

Hadrien Lacroix

Content Developer

Tipuri de date

Tipurile de date definesc ce tip de date poate conține o coloană.

Date numerice Date de tip caracter Date calendaristice
AVG x
SUM x
MIN x x x
COUNT x x x

Funcțiile de conversie transformă o coloană dintr-un tip de date în altul

Introducere în Oracle SQL

Funcții de conversie

  • Conversia tipurilor de date
    • Conversia implicită
    • Conversia explicită
Introducere în Oracle SQL

Conversia implicită a tipurilor de date

SQL convertește automat tipurile de date

SELECT 'Track length: ' || Milliseconds
FROM Track
| 'Track length: ' || Milliseconds     |
|--------------------------------------|
| Track length: 343719                 |
| Track length: 342562                 |
| ...                                  |
Introducere în Oracle SQL

Conversia explicită a tipurilor de date

Diagramă sintetică a funcțiilor de conversie și tipurilor de date

Introducere în Oracle SQL

Conversia în date de tip caracter

Convertiți un șir de tip număr în format caracter folosind funcția TO_CHAR:

SELECT UnitPrice, TO_CHAR(UnitPrice, '$999.99') 
FROM InvoiceLine
| UnitPrice   | TO_CHAR(UnitPrice, '$9.99') |
|-------------|-----------------------------|
| 0.99        | $0.99                       |
| 1.99        | $1.99                       |
| ...         | ...                         |
  • $ : Semn dolar flotant
  • . : Poziția zecimalei
  • 9 : Specifică poziția numerică. Numărul de 9-uri determină lățimea de afișare
  • 0 : Specifică zerouri de umplere
  • , : Poziția virgulei în număr
Introducere în Oracle SQL

Conversia în date de tip caracter

Convertiți un șir de tip dată în format caracter folosind funcția TO_CHAR:

SELECT TO_CHAR(BirthDate, 'DD-MON-YYYY') 
FROM Employee
| TO_CHAR(BirthDate, 'DD-MON-YYYY') |
|-----------------------------------|
| 19-SEP-1947                       |
| ...                               |
  • YYYY: Anul în patru cifre
  • YEAR: Anul scris în litere
  • MM: Luna în două cifre
  • MONTH: Numele complet al lunii
  • MON: Abrevierea lunii (3 litere)
  • DY: Abrevierea zilei din săptămână (3 litere)
  • DAY: Numele complet al zilei
  • DD: Ziua din lună (numeric)
Introducere în Oracle SQL

Conversia în date numerice

Convertiți un șir de caractere în format numeric folosind funcția TO_NUMBER:

SELECT TO_NUMBER('$15,000.75', '$999,999.99')
FROM DUAL
| TO_NUMBER('$15,000.75', '$999,999.99') |
|----------------------------------------|
| 15000.75                               |
  • $ : Semn dolar flotant
  • . : Poziția zecimalei
  • 9 : Specifică poziția numerică. Numărul de 9-uri determină lățimea de afișare
  • 0 : Specifică zerouri de umplere
  • , : Poziția virgulei în număr
Introducere în Oracle SQL

Conversia în date de tip dată calendaristică

Convertiți un șir de caractere în format dată folosind funcția TO_DATE:

SELECT TO_DATE('2016-01-31','YYYY-MM-DD')
FROM DUAL
| TO_DATE('2016-01-31','YYYY-MM-DD')     |
|----------------------------------------|
| 31-JAN-16                              |
  • YYYY: Anul în patru cifre
  • YEAR: Anul scris în litere
  • MM: Luna în două cifre
  • MONTH: Numele complet al lunii
  • MON: Abrevierea lunii (3 litere)
  • DY: Abrevierea zilei din săptămână (3 litere)
  • DAY: Numele complet al zilei
  • DD: Ziua din lună (numeric)
Introducere în Oracle SQL

Ce tip de conversie ar trebui să utilizați?

Semn de atenție

 

  • Utilizați întotdeauna conversia explicită
    • Mai ușor de citit și de întreținut
    • Codul va continua să funcționeze
Introducere în Oracle SQL

Să exersăm!

Introducere în Oracle SQL

Preparing Video For Download...