首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TSQL和Modulo

TSQL和Modulo
EN

Stack Overflow用户
提问于 2014-01-02 22:09:53
回答 3查看 600关注 0票数 1

我如何在中做到这一点:

代码语言:javascript
复制
SQRT(id) % 1 = 0

我不能转换Sqrt()函数的结果,因为这会使上面的逻辑变得无用。对我如何做到这一点有什么想法吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-02 22:15:03

你可以这样做:

代码语言:javascript
复制
floor(sqrt(id)) = sqrt(id)
票数 1
EN

Stack Overflow用户

发布于 2014-01-02 22:12:44

要查看sqrt是否完整,请尝试如下:SQRT(id) * SQRT(id) = id。不过,这可能会遇到浮点精度问题。我认为这可以可靠地解决所有数字的问题,直到某个阈值为止:

CONVERT(INT, SQRT(id)) * CONVERT(INT, SQRT(id)) = id

在阈值之后,精度是不够的。你会看到假的底片,但永远不会是假的。

票数 1
EN

Stack Overflow用户

发布于 2014-01-02 22:15:32

您可以将其转换为varchar,然后取小数点之后的substring。更多信息在这里:http://dbaspot.com/sqlserver-programming/411976-how-get-numbers-after-decimal-tsql.html

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

https://stackoverflow.com/questions/20892856

复制
相关文章

相似问题

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