我在MySQL數據庫有一個表,有電話和名字 像:如何運行if語句
- PHONE1,NAME1
- PHONE2,NAME2
等..
,我列名單,但我想更換一個名稱,即空用手機在我的結果
像IF(name IS NULL){SELECT phone AS name}else{SELECT name} FROM users
,並得到:
- 名1
- 名2
- 電話3
- NAME4
有沒有辦法做到這一點?
我在MySQL數據庫有一個表,有電話和名字 像:如何運行if語句
等..
,我列名單,但我想更換一個名稱,即空用手機在我的結果
像IF(name IS NULL){SELECT phone AS name}else{SELECT name} FROM users
,並得到:
有沒有辦法做到這一點?
你可以這樣做:
SELECT id,
IF(name IS NULL, phone, name) as name
FROM report
在這裏你可以找到更多信息
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html。
除了COALESE功能,或更復雜的IF語句,你可以使用CASE
聲明:
SELECT CASE WHEN name IS NULL THEN phone ELSE name END AS name_or_phone
如果你涉及多個表,加入他們的行列,並在CASE引用它們:
SELECT CASE WHEN users.name IS NULL THEN phones.phone ELSE users.name END AS name_or_phone
FROM users
LEFT JOIN phones on phones.user_id = users.user_id
有關MySQL文檔,請參閱Case statements。
試試這個:
IF (SELECT name FROM tbl_your WHERE name IS NULL) SELECT phone AS name
ELSE SELECT name;
你使用MySQL或MS SQL Server? (不要標記不涉及的產品。) – jarlh