- 如何交换相同的列值?
表名
id value
1 0
2 1
3 0
4 1
如何使用mysql查询将值0更改为1和1更改为0?
- 如何打印以下o/p?
表名
id name
1 x
2 y
3 NULL
如果名称包含值,则应打印为“Hi X”,否则如果名称为 NULL,则应打印为“Hello Guest”。
我的 O/P 应该如下所示
name
Hi X
Hi y
Hello Guest
如何做到这一点?
提前致谢......
最佳答案
1)
您可以简单地执行以下操作:
SELECT id, NOT value AS value
FROM tbl
NOT
会将 0
切换为 1
,反之亦然。
2)
您可以将 COALESCE()
与 CONCAT()
结合使用:
SELECT COALESCE(CONCAT('Hi ', name), 'Hello Guest') AS name
FROM tbl
--
如果
CONCAT()
中至少有一项为NULL
,则CONCAT()
将返回NULL
无论其参数中的任何其他项目如何。COALESCE()
输出第一个非NULL
参数。
--
因此,如果 name
为 NULL
,则 CONCAT()
将返回 NULL
,并且 COALESCE ()
将输出 Hello Guest
。
关于mysql - 如何交换列值以及如何使用 MYSQL 进行连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624704/