Introducere

Când lucrați cu date stocate în PostgreSQL, este posibil să aveți unele date pe care ați prefera să le tratați ca un tip de date diferit. De exemplu, este posibil să aveți o valoare text care reprezintă un număr, cum ar fi „53”. Pentru a efectua calcule pe această valoare, ar putea fi mai logic să convertiți valoarea respectivă într-un număr întreg. În Postgres, funcția CAST este utilizată pentru a converti tipul de date al unei valori într-un alt tip de date. Valoarea trebuie să fie compatibilă cu tipul de date vizat; în caz contrar, va fi returnată o eroare. În acest articol PostgreSQL, vă vom arăta cum să utilizați funcția PostgreSQL CAST și vom trece în revistă câteva exemple de diferite conversii.

Precondiții

Înainte de a continua cu acest tutorial, trebuie să existe două condiții cheie:

  • Trebuie să aveți PostgreSQL instalat și configurat pe computerul dumneavoastră.
  • Trebuie să aveți cunoștințe de bază despre PostgreSQL.

Funcția CAST PostgreSQL

Există două moduri de a CAST o valoare în PostgreSQL. În prima metodă, specificăm valoarea și tipul de date vizat în interiorul parantezelor din funcția CAST. Sintaxa este prezentată mai jos:

1
SELECT CAST ( VALUE AS TYPE )

O altă modalitate de a distribui o valoare este prin utilizarea notației :: între valoare și tipul de date vizat. Puteți vedea sintaxa de mai jos:

1
SELECT VALUE::TYPE

În această sintaxă, value reprezintă valoarea pe care doriți să o distribuiți sau să schimbați tipul de date.type reprezintă tipul de date pe care îl vizați pentru această valoare; câteva valori posibile ale lui type includ INTEGER, FLOAT și CHAR.

Exemplu Postgres CAST

Să analizăm câteva exemple de utilizare a funcției CAST Postgres.

Postgres CAST to String

Pentru primul nostru exemplu, vom transforma o valoare ca valoare de șir de caractere. Putem vedea cum se face acest lucru în următoarea instrucțiune SELECT:

1
2
3
4
5
SELECT CAST( 5137 AS TEXT );
text
——
5137
(1 ROW)

Postgres CAST to Integer

În continuare, vom converti o valoare de tip text într-un număr întreg. Următoarea instrucțiune arată cum se face acest lucru:

1
2
3
4
5
SELECT CAST( ‘214’ AS INTEGER );
int4
——
214
(1 ROW)

În exemplul prezentat mai jos, vom cast o valoare întreagă în tipul de date MONEY. Putem vedea cum funcționează în următoarea instrucțiune:

1
2
3
4
5
5
SELECT CAST(7419 AS MONEY);
money
———–
$7,419.00
(1 ROW)

Postgres CAST to Interval

În exemplul următor vom transforma o valoare text în tipul de date INTERVAL. Următoarea instrucțiune SELECT arată cum funcționează:

1
2
3
4
5
SELECT CAST (‘1 year 2 months 7 days’ AS INTERVAL);INTERVAL
———————-
1 YEAR 2 mons 7 days
(1 ROW)

Postgres CAST to Date

De asemenea, putem folosi funcția CAST pentru a converti o valoare text într-un tip de date DATE, așa cum se vede în exemplul de mai jos:

1
2
3
4
5
SELECT CAST( ‘July 24, 1999’ AS DATE );
DATE
————
1999-07-24
(1 ROW)

Iată o altă modalitate de a CASTface un text ca dată:

1
2
3
4
5
SELECT CAST( ’24-07-99′ AS DATE );
DATE
————
1999-07-24
(1 ROW)

Postgres CAST With Trim

În exemplul de mai jos, vom tăia o valoare text, apoi vom face cast-ul rezultatului returnat de TRIM:

1
2
3
4
5
SELECT CAST( TRIM( TRIM( LEADING ‘DATE ‘ FROM ‘DATE January 28, 1998’ ) AS DATE);
ltrim
————
1998-01-28
(1 ROW)

Postgres CAST With Concatenation

Potem concatena două sau mai multe șiruri folosind operatorul ||. În exemplul nostru final, vom concatena o valoare de șir de caractere cu o valoare de dată, care este turnată în TEXT. Instrucțiunea de mai jos arată cum se face acest lucru:

1
2
3
4
5
SELECT ‘The current date is ‘ || CAST( CURRENT_DATE AS TEXT );
?COLUMN?——————————–
The CURRENT DATE IS 2020-03-28
(1 ROW)

Concluzie

Când interogați date în PostgreSQL, este posibil să doriți ca valorile anumitor coloane să fie convertite într-un tip de date diferit. Schimbarea tipului de date poate facilita efectuarea de calcule și operații de procesare a datelor returnate. În acest articol, v-am arătat cum să utilizați funcția Postgres CAST pentru a converti tipul de date al unei valori. Dacă ați urmărit toate exemplele prezentate în acest articol, veți putea utiliza eficient funcția CAST în propriile dvs. interogări PostgreSQL.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.