我在sql server中有一个列,其中有整数值,现在我想用字符串“正常值”替换一个范围,例如值> 55,值<55替换为“异常值”,我尝试了replace()函数但它没有用。请问有什么帮助吗??
问问题
2920 次
2 回答
2
下面的查询不会对表执行任何操作,但不会显示值,而是显示等效的字符串,
SELECT yourValue,
CASE WHEN yourValue > 55 THEN 'Normal' ELSE 'Abnormal' END
FROM tableName
56 岁及以上为Normal
55 岁及以下Abnormal
于 2013-09-22T08:30:16.210 回答
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
于 2013-09-22T08:40:48.883 回答