从整数中删除特定的小数

问题描述 投票:0回答:2

假设我们的值是 2006,现在我想从中删除 0,结果是 26。

价值:2006年

去掉0后值为:26

我尝试过直接使用replace来替换,但在某些情况下,比如使用聚合函数,我们不能直接使用它。

sql sql-server sql-server-2012
2个回答
0
投票

替换与分组函数一起使用的示例

CREATE TABLE Example 
(
    ID  Int,
    Result  Varchar(4)
);

INSERT INTO Example (ID,Result) VALUES
    (1,'2006'),
    (1,'2007'),
    (1,'2008'),
    (2,'2009'),
    (2,'2010');


SELECT ID, 
       MAX(Result) as maxresult, 
       MAX(REPLACE(Result,'0','')) as MaxResultWithoutZeros 
FROM Example
GROUP BY ID

小提琴

身份证 最大结果 无零的最大结果
1 2008 28
2 2010 29

0
投票

对于 Microsoft SQL Server

SELECT CONVERT(integer, REPLACE(2006,'0', ''));
© www.soinside.com 2019 - 2024. All rights reserved.