如何在MYSQL查詢中使用if
語句返回yes
如果爲真,如果不是則返回no
?比較mysql查詢中的字段
見例如:
IF(table_name.field_name_value = 1, 'yes','no') AS active
我想是這樣的,但沒有成功
如何在MYSQL查詢中使用if
語句返回yes
如果爲真,如果不是則返回no
?比較mysql查詢中的字段
見例如:
IF(table_name.field_name_value = 1, 'yes','no') AS active
我想是這樣的,但沒有成功
從documentation on IF()
function:
mysql> SELECT IF(1<2,'yes','no');
-> 'yes'
所以,基本上,語法是如上所述。
編輯:
你是在說我的例子是不正確。因此,我爲您提供一個證明(證明我上面提到的文檔中的示例):
我有一個表,其中包含uid
列,其中包含用戶的ID。該表是某個站點上數據庫的一部分(與此無關)。當我提出以下查詢:
SELECT `uid`, IF(`uid`=3, 'yes', 'no') AS `active` FROM `mysite_users`;
我收到以下結果:
+-----+--------+
| uid | active |
+-----+--------+
| 0 | no |
| 1 | no |
| 3 | yes |
| 8 | no |
| 9 | no |
| 10 | no |
| 11 | no |
| 12 | no |
| 13 | no |
| 14 | no |
| 15 | no |
+-----+--------+
11 rows in set (0,00 sec)
這是我希望什麼(什麼應該閱讀文檔後預期)。它還不適合你嗎?
可以使用case
功能:
select case
when table_name.field_name_value = 1 then 'yes'
else 'no'
end case as active
from table_name
雖然if
功能也應工作。你能發佈完整的查詢嗎?
你可以在mysql查詢中使用CASE。 像
CASE WHEN table_name.field_name_valud = 1 THEN 'Yes' ELSE 'No' END As active
見http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html
SELECT CASE WHEN table_name.field_name_value = 1 THEN 'yes'
ELSE 'no' END;
你所說的 「_with沒有success_」 意思?你想說「_這不是working_」? – Tadeck
請告訴我們它是如何工作的,以及預期的結果是什麼,如果你想讓你的問題得到解決,請。 – Tadeck
@Tadeck,當我打印活動時它不顯示任何東西 – revo