我想在MySQL中實現三元條件運算符。我有一個表中存在一個字段ID。其值可能爲空。我想在三元條件格式顯示id
這樣的:如何在MySQL中實現三元條件運算符
select id = id == null ? 0 : id;
是否有可能在MySQL?
我想在MySQL中實現三元條件運算符。我有一個表中存在一個字段ID。其值可能爲空。我想在三元條件格式顯示id
這樣的:如何在MySQL中實現三元條件運算符
select id = id == null ? 0 : id;
是否有可能在MySQL?
試試這個:
select if(Id is null, 0, id) as Id;
The documentation是你的朋友;你應該閱讀它!
它說:
IFNULL(expr1,expr2)
如果
expr1
不NULL
,IFNULL()
回報expr1
;否則返回expr2
。
然後很多例子。這相當於使用三元條件,並將NULL
與比較對象作爲第二個操作數;它不會發生使用符號?
和:
讓你在那裏沒有真正相關的任何事情。
所以,你的情況:
SELECT IFNULL(`id`, 0) FROM `table`
如果你絕望明確(爲什麼?)提供了三個操作數,然後切換到IF
:
SELECT IF(`id` IS NULL, 0, `id`) FROM `table`
+1,但要回答這個問題:'CASE當id爲NULL那麼0 ELSE ID END` – 2011-12-14 14:48:38
有兩種方法可以實現與三元運算符相同的邏輯:
IF
函數,例如。 IF(expression, true result, false result)
使用CASE
表達式,例如。
CASE WHEN expression THEN <true result> ELSE <false_result> END
當你檢查NULL,則可以使用IFNULL
或COALESCE
功能,例如。
IFNULL(ID, 0)
COALESCE(ID, 0)
可能重複[你如何在MySQL select語句中編寫條件?](http://stackoverflow.com/questions/1647961/how-do-you-write-a-conditional-in- a-mysql-select-statement) – 2011-12-14 14:54:05