当前位置: 首页 > 面试题库 >

T-SQL舍入到小数位

韩欣怿
2023-03-14
问题内容

如何将matchpercent的结果四舍五入到小数点后两位(%)?我正在使用以下方法返回一些结果:

DECLARE @topRank int
set @topRank=(SELECT MAX(RANK) FROM
FREETEXTTABLE(titles, notes, 'recipe cuisine', 1))
SELECT 
    ftt.RANK, 
    (CAST(ftt.RANK as DECIMAL)/@topRank) as matchpercent, --Round this
    titles.title_id, 
    titles.title
FROM Titles
INNER JOIN 
FREETEXTTABLE(titles, notes, 'recipe cuisine') as ftt
ON
ftt.[KEY]=titles.title_id
ORDER BY ftt.RANK DESC

问题答案:

转换/转换结果:

CAST((CAST(ftt.RANK as DECIMAL)/@topRank) AS DECIMAL(n,2)) as matchpercent,

…这里n的数字足够大,不能截断小数点左边。也就是说,如果使用“ 123.456”,则由于总长度为7位,因此需要使用DECIMAL(7,2)。



 类似资料:
  • 问题内容: 每次我想四舍五入到小数点后两位小数时,它都不想四舍五入…我怎么能将它四舍五入到小数点后两位零,那会给我92.00而不是92? 给我 但我想要 我使用了TO_CHAR,它起作用了 谢谢你们! 问题答案: 您可以尝试使用TO_CHAR函数来转换结果 例如 希望能帮助到你

  • 问题内容: 我不确定是否曾经问过这个问题,但是如何在T-SQL中将平均值四舍五入到最接近的整数? 问题答案: 这为它工作: 难道没有更短的方法吗?

  • 我需要把分钟换算成小时,四舍五入到小数点后两位。我还需要在小数点后显示最多两个数字。所以如果我有650分钟,那么小时应该是10.83。 但在这种情况下,如果我的分钟数是630小时,那就是10.5000000。但我只想要10.50(四舍五入后)。我如何做到这一点?

  • 问题内容: 我需要将PHP中的小数点四舍五入到小数点后两位,以便: 变成… 我已经尝试过 number_format ,但这只是将值 舍 入到 49.96 。我不能使用 substr, 因为该数字可能较小(例如7.950)。到目前为止,我一直无法找到答案。 任何帮助,不胜感激。 问题答案: 这可以工作:

  • 问题内容: 我试图确定截断或删除SQL中多余的小数位而不舍入的最佳方法。例如: 这将自动舍入为,这在大多数情况下是很好的。但是,对于这个项目,我不需要。有没有一种简单的方法可以截断我不需要的小数?我知道我可以使用该函数并将其转换回十进制。还有其他方法吗? 问题答案:

  • 我想把54.5345四舍五入到54.54,也就是说,如果我有第三个小数位,那么我想在第二个小数位上加1。 我试过用math.round但如果第三小数小于5,它总是四舍五入