我想在null-able列中将小数值0.000000和NULL都处理为NULL
例如:
case worthColumn
WHEN '0.000000' then NULL
WHEN NULL then NULL
ELSE worthColumn
END
AS SumOfWorth
Run Code Online (Sandbox Code Playgroud)
但值0.000000总是在结果中结束?
如果它是小数,那么您不需要将它与字符串进行比较.用途NULLIF:
NULLIF(worthColumn,0)
如果您使用以下示例:
CREATE TABLE YourTable(A DECIMAL(20,3));
INSERT INTO YourTable
VALUES (10),(1),(NULL),(0.000),(20);
SELECT *, NULLIF(A,0)
FROM YourTable
Run Code Online (Sandbox Code Playgroud)
然后你得到以下结果:
?????????????????????????????
? A ? (No column name) ?
?????????????????????????????
? 10.000 ? 10.000 ?
? 1.000 ? 1.000 ?
? NULL ? NULL ?
? 0.000 ? NULL ?
? 20.000 ? 20.000 ?
?????????????????????????????
Run Code Online (Sandbox Code Playgroud)
(现在不能发布一个sqlfiddle,因为它暂时失效)
| 归档时间: |
|
| 查看次数: |
7977 次 |
| 最近记录: |