在MySQL中使用CASE将值设置为NULL或空白

时间:2018-10-13 20:59:45

标签: mysql

我可以在MySQL CASE中将该值设置为空白吗?这样的;

...
    SELECT ID, subNet,
    CASE
    WHEN subNet = 0 THEN ''
    ...

该值始终显示0而不是空白。我也尝试过IS NULL和像这样的NULL。  ... THEN”,然后再像这样,那么子网=

如果子网为0,我不希望看到任何值

2 个答案:

答案 0 :(得分:1)

是的。。。就可以了。

CREATE TABLE tbl
    (`id` int, `subnet` int)
;

INSERT INTO tbl
    (`id`, `subnet`)
VALUES
    (1, 0),
    (2, 27),
    (3, 50),
    (4, 2)
;

查询1

    SELECT id, 
            subnet,
            CASE WHEN subnet = 0 THEN ''
                 ELSE subnet
                 END subnet_suppressed_0
      FROM tbl

Results

| id | subnet | subnet_suppressed_0 |
|----|--------|---------------------|
|  1 |      0 |                     |
|  2 |     27 |                  27 |
|  3 |     50 |                  50 |
|  4 |      2 |                   2 |

答案 1 :(得分:0)

最简单的方法就是测试PHP中的值并在那里重新编码。