2012-07-24 24 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來代替。