首页 > 解决方案 > SQL - 删除小数并将其值包含在数字中

问题描述

我不认为这个主题的标题很好地说明了我需要做什么,我有一个表格,上面有这样的数字:

Number - 32.4

我想要做的是删除数字的十进制值并包括左侧小数点右侧的值,它必须是这样的:

Number - 324

我试过这个查询:

UPDATE table
SET Number = CAST(Number AS INT)
WHERE Number LIKE '%.%'

它删除了 . 但也要删除小数点右侧的值。像这样:

Number - 32

这个问题有什么线索吗??

标签: sqlsql-serverdecimal

解决方案


如果所有数字都有两位小数,那么您可以使用:

UPDATE table
    SET Number = CAST(Number * 100 AS INT);

但也许您的意图是转换为字符串,然后再转换回 int:

UPDATE table
    SET Number = CAST(REPLACE(CAST(Number as VARCHAR(255)), '.', '') AS INT);

推荐阅读