0
  1. 如何交换相同的列值?

表名

id    value

1      0

2      1

3      0

4      1

如何使用mysql查询将值0更改为1和1更改为0?

  1. 如何打印以下 o/p ?

表名

id name

1   x

2   y

3   NULL

如果名称包含值,则应打印为“Hi X”,否则如果名称为 NULL,则应打印为“Hello Guest”。

我的 O/P 应该如下所示

name

Hi X

Hi y

Hello Guest

如何才能做到这一点 ?

提前致谢....

4

1 回答 1

1

1)

你可以简单地做:

SELECT id, NOT value AS value
FROM tbl

NOT将切换01,反之亦然。


2)

您可以COALESCE()结合使用CONCAT()

SELECT COALESCE(CONCAT('Hi ', name), 'Hello Guest') AS name
FROM tbl

--

  • CONCAT()如果is中至少有一项NULL,则无论其参数中的任何其他项如何,都CONCAT()将返回。NULL

  • COALESCE()输出第一个非NULL参数。

--

所以 if nameis NULL, thenCONCAT()将返回NULL, 并改为COALESCE()输出。Hello Guest

于 2012-07-24T05:36:24.983 回答