-1

SQL Server に整数値がある列があります。たとえば、値 > 55 を文字列 '正常値' に置き換え、値 <55 を '異常値' に置き換えたいと思います。replace() 関数を試しました。しかし、うまくいきませんでした。何か助けてください??

4

2 に答える 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 に答える