在sql中拆分十进制

时间:2010-04-11 07:18:39

标签: sql

我在存储过程中得到十进制结果。如果我得到123.45的结果, 我想将其拆分为12345。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:3)

使用SQL函数FLOOR()获取整数部分 并从原件中减去小数部分

答案 1 :(得分:3)

您还可以使用ROUND代替FLOOR

请参阅C. Using ROUND to truncate部分了解trucate,然后从原始部分中删除它。

请注意,在负数上使用FLOOR可能无法提供所需的结果。

看一下这个例子

DECLARE @Dec DECIMAL(12,8)

SET @Dec = -123.45

SELECT FLOOR(@DEc)

select round(@Dec, 0, 1) 

答案 2 :(得分:0)

试试这个;

DECLARE @result DECIMAL(8,2) = 123.45

SELECT CAST(round(@result,0) AS FLOAT)
SELECT REPLACE(@result % 1 ,'0.','') 

OR

DECLARE @result decimal(8,2) = 123.45
select PARSENAME(@result, 2) AS LeftSideValue, PARSENAME(@result, 1) AS RightSideValue