在这里,我们将看到如何使用 CAST()、CONVERT() 和 FORMAT() 函数将 MS SQL Server 数据库表中的 NUMERIC 数据转换为 NVARCHAR 数据。
我们将创建一个人名为“geeks” 的数据库中的表。
创建数据库:
CREATE DATABASE geeks;
使用数据库:
USE geeks;
表定义:
我们的极客数据库中有以下 Employee 表:
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.
可以使用下面的语句来查询创建的表的说明:
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;
现在,我们使用三种不同的方法将 NUMBERIC 值转换为 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';
正如您所看到的,如上所述,小数点右侧总共有 5 位数字。
- 使用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 Ajit Yadav is ' + CAST(weight as NVARCHAR(20)) AS person_weight FROM person WHERE name = 'Ajit Yadav';
- 使用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 formatting --i.e simply convert it to a string of characters. AS person_weight FROM person WHERE name = 'Ashish Yadav';
相关用法
- SQL NOT用法及代码示例
- SQL NOT EQUAL用法及代码示例
- SQL Datetime转Date用法及代码示例
- SQL Date转Datetime用法及代码示例
- SQL LTRIM()用法及代码示例
- SQL UPPER()用法及代码示例
- SQL RTRIM()用法及代码示例
- SQL FLOAT转NVARCHAR用法及代码示例
- SQL Datetime转Epoch用法及代码示例
- SQL Epoch Time转Date用法及代码示例
- SQL Datetime转String用法及代码示例
- SQL VARCHAR转INT用法及代码示例
- SQL IN用法及代码示例
- SQL IS NOT NULL用法及代码示例
- SQL IS NULL用法及代码示例
- SQL LIKE用法及代码示例
- SQL DROP和TRUNCATE的区别用法及代码示例
- SQL Server CHARINDEX()用法及代码示例
- SQL Server DIFFERENCE()用法及代码示例
- SQL Server IIF()用法及代码示例
- SQL Server ASCII()用法及代码示例
- SQL Server LOG()用法及代码示例
- SQL Server LOG10()用法及代码示例
- SQL Server ATN2()用法及代码示例
注:本文由纯净天空筛选整理自yoji大神的英文原创作品 SQL Query to convert NUMERIC to NVARCHAR。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。