将 FLOAT 转换为 NVARCHAR 的 SQL 查询
在这里,我们将看到如何使用 CAST()、CONVERT() 和 FORMAT() 函数将 MS SQL Server 数据库表中的 FLOAT 数据转换为 NVARCHAR 数据。
我们将在名为“geeks”的数据库中创建一个人员表。
创建数据库:
CREATE DATABASE geeks;
使用数据库:
USE geeks;
表定义:
我们的geeks数据库中有以下Employee表:
CREATE TABLE person(
id INT IDENTITY(1,1) PRIMARY KEY,
name VARCHAR(30) NOT NULL,
weight REAL NOT NULL);
您可以使用以下语句查询已创建表的描述:
EXEC SP_COLUMNS person;
向表中添加数据:
使用以下语句向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 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( AS );
--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()函数对于格式化日期时间而不是将一种类型转换为另一种类型很有用,但仍可用于将(或此处格式化)浮点值转换为 STR 值。
Syntax: SELECT FORMAT( , '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';
输出: