将 FLOAT 转换为 NVARCHAR 的 SQL 查询

原文:https://www . geesforgeks . org/SQL-query-convert-float-nvarchar/

在这里,我们将看到如何使用 CAST()、convert()和 FORMAT()函数将 MS SQL Server 数据库表中的 FLOAT 数据转换为 NVARCHAR 数据。

我们将在一个名为“极客”的数据库中创建一个表。

创建数据库:

CREATE DATABASE geeks;

使用数据库:

USE geeks;

表定义:

我们的极客数据库中有以下员工表:

CREATE TABLE person(
id INT IDENTITY(1,1) PRIMARY KEY,
name VARCHAR(30) NOT NULL,
weight REAL NOT NULL);

您可以使用下面的语句来查询创建的表的描述:

EXEC SP_COLUMNS person;

向表中添加数据:

使用以下语句将数据添加到表中:

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

要验证表格的内容,请使用以下语句:

SELECT * FROM person;

现在让我们使用三种不同的方法将 FLOAT 值转换为 nvarchar。

使用 CONVERT()功能:

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.

示例:

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

输出:

使用 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.

示例:

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

输出:

使用 FORMAT()函数:

虽然 format()函数对于格式化日期时间和不将一种类型转换为另一种类型很有用,但仍可用于将(或这里的 FORMAT)浮点值转换为 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.

示例:

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';

输出: