sql查询用字符串替换一系列整数值?

时间:2013-09-22 08:27:23

标签: sql sql-server replace

我在sql server中有一个列,其中有整数值,现在我想要替换一个范围,例如值&gt; 55字符串'正常值'和值<55替换'异常值',我尝试了replace()函数,但它没有工作。请帮忙吗?

2 个答案:

答案 0 :(得分:2)

下面的查询对表没有任何作用,但它不显示值,而是显示等效的字符串,

SELECT  yourValue,
        CASE WHEN yourValue > 55 THEN 'Normal' ELSE 'Abnormal' END
FROM    tableName

56及以上将是Normal
55及以下将是Abnormal

答案 1 :(得分:0)

如果列允许NULL,那么您可以尝试:

SELECT t.ColA, CASE WHEN t.ColA >= 55 THEN 'Normal value' WHEN t.ColA < 55 THEN 'abnormal value' END
FROM MySchema.MyTable AS t

示例:

DECLARE @MyTable TABLE
(
    ID INT IDENTITY(1,1) PRIMARY KEY,
    ColA INT NULL
);

INSERT INTO @MyTable (ColA) VALUES(11);
INSERT INTO @MyTable (ColA) VALUES(111);
INSERT INTO @MyTable (ColA) VALUES(NULL);

SELECT t.ColA, 
CASE 
  WHEN t.ColA >= 55 THEN 'Normal value' 
  WHEN t.ColA < 55 THEN 'abnormal value' 
  -- WHEN t.ColA IS NULL THEN NULL
END AS CaseWhen
FROM @MyTable AS t

结果:

ColA        CaseWhen
----------- --------------
11          abnormal value
111         Normal value
NULL        NULL