我有一张名叫Product的桌子。这张桌子是这样的:
ID Product Volume
1 xyz 4654.000000000000000
2 abc 121.000000000000000我想用科学的符号来表示Volume。Volume的数据类型为decimal(20,8)。
我怎样才能进行这种转换?
发布于 2015-07-11 08:43:35
通常,数据的格式和表示应该在客户端由UI完成,但是如果您坚持.
DECLARE @t decimal(20,8) = 4654.000000000000000;
SELECT @t, CONVERT(nvarchar(32), CAST(@t as float), 2)结果
4654.00000000 4.654000000000000e+003首先使用CAST decimal到float (请注意,它可能会丢失精度),然后使用style 2将CONVERT float转换为nvarchar
总是16位数。总是用在科学符号中。
Note
float类型只有15位的精度,所以它不能在不丢失精度的情况下存储decimal(20,8)。
发布于 2015-07-11 06:33:15
declare @t decimal(20,8)=132423423421.00000000
print cast(@t as float)您可以在select语句中将卷字段转换为浮动,然后将得到科学的注释,如上面所示。
https://stackoverflow.com/questions/31354009
复制相似问题