sql-server - SQL Server在转换为CHAR时截断浮点字段中的整数值
问题描述
我有一个相当奇怪的问题。
由于在大型查询中从FLOAT
和两列中获取一列,CHAR
我将结果FLOAT
转换为,CHAR
以便生成的查询的数据类型匹配。
对于列中的少数整数值,将FLOAT
整数截断为科学计数法,即丢失一个整数。
例子
DECLARE @fl FLOAT
SET @fl = 1041931
SELECT CAST(ISNULL(@fl, '0') AS VARCHAR(20))
这是显示
1.04193+e006
扩展时为 1041930,因此丢失了最后一位。
正确显示整数我做错了什么?带有小数的 FLOATS 不会发生这种情况。
解决方案
您可以尝试以下查询。
DECLARE @fl FLOAT
SET @fl = 1041931
SELECT CAST(CAST(ISNULL(@fl, '0') AS DECIMAL(10,0)) AS VARCHAR(10))
推荐阅读
- javascript - 登录后我无法重定向用户
- node.js - 无法在谷歌云功能中安装 npm 包
- javascript - 具有间隔更新的反应时钟组件非常慢
- linux - 如何访问在 Linux 机器上运行的 Docker 的文件系统
- c# - 如何使用行文本检测数据表中的行是否可用
- azure - 无法在 azure 中使用 skuName 值“F1”的 Arm 模板创建 IoT-HUB
- file - 如何验证不是从bat文件中退出的文件
- ios - 尝试一段时间后,深度链接打开 safari 目标 c
- c# - 我可以使用 COM api 过滤 AutoCAD 选择集吗?
- excel - vba:具有命名目的地的复制表