在mysql中使用case将值设置为null或空白

nmpmafwu  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(431)

我可以在mysql的情况下将值设置为空吗?像这样;

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

该值始终显示为0,而不是为空。我也试过是空的,就这样空的。。。然后是“”,再像这样子网=“”
如果subnet为0,我不想看到任何值

axr492tv

axr492tv1#

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

7ajki6be

7ajki6be2#

是的,你可以。。。。很好用。

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

结果:

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

相关问题