我想知道这是否可以来自mysql。
SELECT username FROM users_table
如果用户名是NULL,我想显示类似“未知”的内容我可以在php上做到这一点,只是想知道这件事是否值得关注:)
答案 0 :(得分:6)
SELECT IFNULL(username, 'Unknown') FROM users_table
OR
SELECT COALESCE(username, 'Unknown') FROM users_table
答案 1 :(得分:2)
您可以使用IF
功能。
IF(condition, if_true, if_false)
因此,您的查询是:
SELECT IF(NULL(username), "Unknown", username) FROM users_table
了解详情:http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if
答案 2 :(得分:1)
最后但并非最不重要的是,CASE
:
SELECT
CASE
WHEN username IS NULL THEN '(Unknown)'
ELSE username
END AS username
FROM users_table
我喜欢它,因为当你有复杂的表达式时很容易概括(你可以根据需要添加WHEN
)并且它可以在许多DBMS中使用。
(在这种情况下,我会使用@ajreal's answer中的COALESCE。)