首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL Server不接受分数

SQL Server不接受分数
EN

Stack Overflow用户
提问于 2019-03-13 03:16:47
回答 3查看 47关注 0票数 1

SQL Server不接受小数。我怎样才能做到这一点?它不接受0.9

代码语言:javascript
复制
SELECT TOP (250000 * 0.9 / 100) 
    [FIRST], [MIDDLE], [LAST], [PHONE], [ADDRESS], [CITY], [STATE]
FROM 
    [7.Exporting].[dbo].[table1]

错误是

为TOP或FETCH子句行计数参数提供的行数必须是整数

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-13 03:40:22

您可以使用表达式。只要去掉小数点:

代码语言:javascript
复制
select TOP (250000*9/1000) . . .

或者,使用显式的cast()

代码语言:javascript
复制
selectTOP (cast(250000*0.9/1000 as int)) . . . 

我很惊讶这能行得通,但似乎是行得通的。

票数 2
EN

Stack Overflow用户

发布于 2019-03-13 03:18:11

top仅适用于整数

代码语言:javascript
复制
SELECT TOP (any int value) [FIRST],[MIDDLE],[LAST],[PHONE],[ADDRESS],[CITY],[STATE]
      FROM [7.Exporting].[dbo].[table1]
票数 0
EN

Stack Overflow用户

发布于 2019-03-13 03:50:07

因为TOP只适用于整型,所以你必须转换为整型:

代码语言:javascript
复制
SELECT TOP (CAST (250000*0.9/100 AS INT)) [FIRST],[MIDDLE],[LAST],[PHONE],[ADDRESS], 
    [CITY],[STATE]
FROM [7.Exporting].[dbo].[table1]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55129163

复制
相关文章

相似问题

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