2012-07-24 81 views
0
  1. 如何交换相同的列值?

table_name的如何交换列值和如何使用MYSQL Concat

id value 

1  0 

2  1 

3  0 

4  1 

如何使用MySQL查询更改数值0〜1和1比0?

  1. 如何打印下面的o/p?

table_name的

id name 

1 x 

2 y 

3 NULL 

如果名称中包含的值应该打印为“Hi X”否则,如果名称为null应该打印为“你好客户”。

我的O/P应该有如下

name 

Hi X 

Hi y 

Hello Guest 

如何才能做到这一点?

在此先感谢....

回答

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()至少一个项目是NULL,那么CONCAT()将返回NULL,而不管其参数中的任何其他项目。

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

-

所以,如果nameNULL,然后CONCAT()将返回NULL,并COALESCE()将输出Hello Guest来代替。