数据库中数值型变量怎么变为字符型变量?

2023-08-18
112 阅读

展开全部)

SQLServer中的数值类型分为两种:)

①精确的数值类型,具体的数据类型有:bit、tinyint、smallint、int、bigint、smallmoney、money和decimal,这些数据类型能够精确的表明某以数值;)

②近似的数值类型,具体就是float和real。浮点数据为近似值。)

因此,并非数据类型范围内的所有值都能精确的表示。)

精确数值的数据类型转换:)

1)

2)

3)

declare @i int)

set @i=123456789)

print 'test:'+convert(varchar(20),@i))

输出结果:test:123456789)

近似数值的数据类型转换:)

1)

2)

3)

declare @i float)

set @i=123456789)

print 'test:'+convert(varchar(20),@i))

输出结果:test:1.23457e+008)

输出的结果是使用科学计数法来表示。)

帮助文档中说到float 或 real 转换为字符数据时的 style 值:)

0(默认值)最大为 6 位数。根据需要使用科学记数法。)

1 始终为 8 位值。始终使用科学记数法。)

2 始终为 16 位值。始终使用科学记数法。)

我们的值是123456789,超过了6位数。所以不管是0还是1,2结果都会使用科学计数法来表示。那么要怎么样才能将我们的数据不转换成科学计数法而输出呢?比较简单的办法就是将近似数据转换为精确数据,然后再将精确数据转换成字符串。)

同样以上面的例子为例, 进行两次数据类型的转换如下:)

1)

2)

3)

declare @i float)

set @i=123456789)

print 'test:'+convert(varchar(20),convert(int,@i)))

输出:test:123456789)

如果是有小数,那么我们要转换出小数位的话,可以转换成decimal,转换出的小数位数在定义decimal时指定。比如要输出4位小数,那么转换代码是:)

1)

2)

3)

declare @i float)

set @i=123456789.12)

print 'test:'+convert(varchar(20),convert(decimal(18,4),@i)))

输出:test:123456789.1200

分享至:
管理员

小草

专注人工智能、前沿科技领域报道,致力于为读者带来最新、最深度的科技资讯。

评论 (0)

当前用户头像