Funció d'emissió de SQL Server

Funcio D Emissio De Sql Server



'Ja sigui que esteu començant o un desenvolupador experimentat, trobareu una conversió de tipus. La conversió de tipus fa referència al procés de conversió d'un valor o expressió d'un tipus de dades a un altre tipus de dades compatible.

En aquesta publicació, parlarem de l'ús de la funció cast() a SQL Server per convertir un valor o expressió d'un tipus a un altre.







Funció d'emissió de SQL Server

El fragment següent mostra la sintaxi de la funció cast().



CAST ( expressió AS tipus_dada [ ( LLARGADA ) ] )

La funció accepta els paràmetres següents:



  1. expressió: qualsevol expressió vàlida.
  2. data_type: estableix el tipus de dades de destinació.
  3. length: un valor enter opcional definit com la longitud del tipus de dades de destinació (només per als tipus admesos).

Aleshores, la funció retorna l'expressió convertida al tipus de dades de destinació.





Utilitzem exemples per il·lustrar com podem utilitzar la funció d'emissió.

Ús de la funció Cast per convertir una cadena a enter

L'exemple següent utilitza la funció cast per convertir la cadena d'entrada en un valor enter.



SELECCIONA
CAST ( '100' AS INT ) AS valor_sortida;

La sortida resultant:

valor_sortida |
------------+
100 |

Ús de la funció Cast per convertir decimals a int

El segon exemple següent utilitza la funció cast per convertir un tipus decimal a int.

SELECCIONA
CAST ( 3.14159 AS INT ) AS valor_sortida;

La funció d'emissió arrodonirà el decimal d'entrada al valor enter més proper, tal com es mostra:

valor_sortida |
------------+
3 |

Ús de la funció Cast per convertir String a Datetime

També podem utilitzar la funció cast per convertir una cadena d'entrada determinada en un valor de data i hora. A continuació es mostra una il·lustració d'exemple:

SELECCIONA
CAST ( '2022-10-10' AS data i hora ) AS valor_sortida;

Sortida resultant:

valor_sortida |
-----------------------+
2022 - 10 - 10 00:00: 00.000 |

Ús de la funció Cast a la columna de la taula

També podem aplicar la funció de llançament a una columna específica i convertir les files d'aquesta columna a un altre tipus de dades.

Per exemple, suposem que tenim una taula:

Podem convertir els valors de la columna size_on_disk en nombres enters tal com es mostra:

SELECCIONA
nom_servidor ,
CAST ( mida_al_disc AS INT ) AS mida_appx
DE
entrades;

La taula resultant és la que es mostra:

Com podem veure, la sortida resultant s'expressa com a valors enters (arrodonits).

NOTA: és bo tenir en compte que hi ha diversos tipus de conversió.

  1. Conversió implícita: el motor SQL Server aplica automàticament l'operació de conversió perquè coincideixi millor amb l'operació sol·licitada.
  2. Conversió explícita: realitzada manualment per l'usuari cridant a funcions de conversió com cast() i convert().

El gràfic següent mostra quins tipus podeu convertir, el tipus de conversió aplicat i molt més.

Font: Microsoft

Reducció a zero

Gràcies per llegir aquest tutorial. Confiem que hàgiu après alguna cosa nova amb aquesta guia.