首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在SQL数据库中工作时,有没有一种方法可以将浮点型转换为nvarchar而不将浮点型转换为科学记数法?

在SQL数据库中工作时,有没有一种方法可以将浮点型转换为nvarchar而不将浮点型转换为科学记数法?
EN

Stack Overflow用户
提问于 2019-06-06 05:12:12
回答 2查看 46关注 0票数 0

我正在从头开始建立一个数据库。目前我有一个庞大的Excel工作表,由于存储的数据量太大,无法真正工作。我正在使用SQL Server数据库来存储数据。

现在,除了一列之外,我使用的所有列都可以工作。有一个ID,我需要在我的数据库的大部分中使用。不幸的是,一半的ID是字母数字,并且有数字(没有字母)。为了将数据从Excel存储到SQL Server,我将一半数据存储为float,另一半存储为NVARCHAR。一旦数据从Excel中取出,我就创建了第三列,并使用如下所示的代码组合数据:

代码语言:javascript
复制
UPDATE dbo.Table
SET ID = CONVERT(NVARCHAR(255), ISNULL(NumID, N'')) + N'' + CONVERT(NVARCHAR(255), ISNULL(LetID, N''))

运行代码后,我创建了一个新问题。数值数据现在写为"4.01867e+007“而不是"40186720”。

有人知道为什么或者如何解决这个问题吗?我希望数据读为"40186720“,而不是字母,以使其更容易使用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-06 05:53:44

如果数字部分将介于±9万分之一之间(实际为9,223,372,036,854,775,807),则可以在转换为文本之前将浮点数转换为bigint:

代码语言:javascript
复制
UPDATE dbo.Table
SET ID = CONVERT(NVARCHAR(255), ISNULL(convert(bigint,NumID), N'')) + N'' + CONVERT(NVARCHAR(255), ISNULL(LetID, N''))
票数 0
EN

Stack Overflow用户

发布于 2019-06-06 05:18:33

你尝试过使用CAST吗?CONVERT有一个可选的样式参数,如果保留为空(取决于您的数据库),可能会被设置为默认值,从而导致问题...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56468086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档