Consulta SQL para convertir NUMERIC a NVARCHAR

Aquí veremos cómo convertir datos NUMÉRICOS a datos NVARCHAR en una tabla de base de datos de MS SQL Server utilizando las funciones CAST(), CONVERT() y FORMAT().

Crearemos una tabla de personas en una base de datos llamada «geeks».

Creación de la base de datos:

CREATE DATABASE geeks;

Uso de la base de datos:

USE geeks;

Definición de tabla:

Tenemos la siguiente tabla de empleados en nuestra base de datos geeks:

CREATE TABLE person(
id INT IDENTITY(1,1) PRIMARY KEY,
name VARCHAR(30) NOT NULL,
weight NUMERIC(10,5) NOT NULL);
--Here NUMERIC(10,5) says there should be total 10 digits given that 5 digits would be 
--to the right of the decimal point.

Puede usar la siguiente declaración para consultar la descripción de la tabla creada:

EXEC SP_COLUMNS person;

Agregar datos a la tabla:

Use la siguiente declaración para agregar datos a la tabla de personas:

INSERT INTO person
VALUES
('Yogesh Vaishnav', 62.5),
('Vishal Vishwakarma', 70),
('Ashish Yadav', 69),
('Ajit Yadav', 71.9);

Para verificar el contenido de la tabla, use la siguiente declaración:

SELECT * FROM person;

Ahora vamos a convertir valores NUMÉRICOS a NVARCHAR usando tres métodos diferentes.

  • Usando la función CONVERTIR():
Syntax: SELECT CONVERT(<DATA_TYPE>, <VALUE>);
--DATA_TYPE is the type we want to convert to.
--VALUE is the value we want to convert into DATA_TYPE.

Ejemplo:

SELECT 'Weight of Yogesh Vaishnav is ' + CONVERT(NVARCHAR(20), weight)
AS person_weight
FROM person
WHERE name = 'Yogesh Vaishnav';

Como puede ver, hay un total de 5 dígitos a la derecha del punto decimal como se mencionó anteriormente.

  • Usando la función CAST():
Syntax: SELECT CAST(<VALUE> AS <DATA_TYPE>);
--DATA_TYPE is the type we want to convert to.
--VALUE is the value we want to convert into DATA_TYPE

Ejemplo:

SELECT 'Weight of Ajit Yadav is ' + CAST(weight as NVARCHAR(20))
AS person_weight
FROM person
WHERE name = 'Ajit Yadav';

  • Usando la función FORMATO():

Aunque la función FORMAT() es útil para formatear fecha y hora y no convertir un tipo en otro, aún se puede usar para convertir (o aquí formatear) el valor flotante en un valor STR.

Syntax: SELECT FORMAT(<VALUE> , 'actual_format';
--actual_format is the format we want to achieve in a string form.
--VALUE is the value we want to format according to the actual_format.

Ejemplo:

SELECT 'Weight of Ashish Yadav is ' + FORMAT(weight, '') --'' denotes no formating
--i.e simply convert it to a string of characters.
AS person_weight
FROM person
WHERE name = 'Ashish Yadav';

Publicación traducida automáticamente

Artículo escrito por yoji y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *