2017-09-01 74 views
0

我需要在SQL查詢中設置if-statement而沒有else部分。但是if-statement的語法是IF(<condtion>, <true part>, <false part>)。我沒有(不需要設置)其他部分的任何值。SQL - 如果僅聲明

例如:從用戶表中,如果用戶標識大於0,那麼只需要添加用戶標識。我如何實施/添加這樣的條件?

SELECT 
    u.fname, 
    u.lname, 
    IF(u.id>0, u.id, ?) // Here I do not have value for else part. 
FROM 
    user_table u; 
+0

你爲什麼只在那裏放一個空 – Khalil

+0

你想要一個表,不同的行可以有不同數量的列? – 2017-09-01 17:56:44

+1

我認爲你必須把null放在其他部分,因爲它會選擇列,或者選擇值或在該位置放置null。 –

回答

2

結果行中的每一列都必須包含一個值,即使該值是NULL

SELECT fname, lname, IF(id>0, id, NULL) AS id FROM user_table; 

甲結果集中包含的行數和約束之一是這些行必須有一個具有相同定義的相同數量的列。