mysql - 如何交换列值以及如何使用 MYSQL 进行连接

标签 mysql

  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

如何做到这一点?

提前致谢......

最佳答案

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 参数。

--

因此,如果 nameNULL,则 CONCAT() 将返回 NULL,并且 COALESCE () 将输出 Hello Guest

关于mysql - 如何交换列值以及如何使用 MYSQL 进行连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624704/

相关文章:

php - 错误:方法 Doctrine\ORM\Query\Expr\From::__toString() 不得在 symfony 2 应用程序中抛出异常

php - 获取特定订单

php - 需要一个食谱表和类别表,以便一个食谱可以有多个类别

带 WHERE 子句的 Mysql LIKE 查询 - (InnoDB)

mysql - 如何获取MAX函数对应的列值?

php、mySQL 返回最后 x 行

mysql - 有销售来源、订单或无的付款表

mysql - 如何计算每天具有不同 IP 地址的行数?

mysql - 如何在 MySQL 中将位转换为字符串?

php - mysql 和 PHP 的日期时间