假设我们的值是 2006,现在我想从中删除 0,结果是 26。
价值:2006年
去掉0后值为:26
我尝试过直接使用replace来替换,但在某些情况下,比如使用聚合函数,我们不能直接使用它。
替换与分组函数一起使用的示例
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 |
对于 Microsoft SQL Server
SELECT CONVERT(integer, REPLACE(2006,'0', ''));