我有這個非常簡單的MySQL查詢:MySQL的函數COALESCE未能返回非空值
SELECT m.REF_DATA_ID, COALESCE(m.SQL_FUNCTION, m.PHP_FUNCTION) AS FUNCTION FROM AAB_REFERENCE_DATA_MANAGER m;
返回下面的數據:
REF_DATA_ID | FUNCTION
88295 |
88296 |
88297 |
88298 | now()
88299 |
88300 | now()
88301 |
COALESCE()似乎並沒有被正常在我的查詢出於某些原因,當我運行下面的查詢:
SELECT m.REF_DATA_ID, m.SQL_FUNCTION, m.PHP_FUNCTION FROM AAB_REFERENCE_DATA_MANAGER m;
回報:
REF_DATA_ID SQL_FUNCTION PHP_FUNCTION
88295 | |
88296 | |
88297 | |
88298 | now() |
88299 | | get_session_user_id
88300 | now() |
88301 | | get_session_user_id
我只是不知道我在做什麼錯COALESCE在這裏...
我在尋找的輸出是:
REF_DATA_ID FUNCTION
88295 |
88296 |
88297 |
88298 | now()
88299 | get_session_user_id
88300 | now()
88301 | get_session_user_id
什麼是源功能列中的數據 - 空字符串或NULL? –
看起來像你可能擁有它。謝謝Shree - 我相信它是一個空字符串...將運行更新查詢,看看是否它。 – Jeff
Emptystring與空值不同。是的,'Coalesce'返回空字符串。 – RubahMalam