MySQL заменить пустое значение - PullRequest
2 голосов
/ 05 января 2011

Мне было интересно, возможно ли это из mysql.

SELECT username FROM users_table

Если имя пользователя NULL, я хотел бы отобразить что-то вроде "Unknown"это просто интересно, если это что-то стоит изучить :)

Ответы [ 3 ]

6 голосов
/ 05 января 2011
SELECT IFNULL(username, 'Unknown') FROM users_table

ИЛИ

SELECT COALESCE(username, 'Unknown') FROM users_table
2 голосов
/ 05 января 2011

Вы можете использовать функцию 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

1 голос
/ 05 января 2011

И последнее, но не менее важное: CASE:

SELECT
    CASE
        WHEN username IS NULL THEN '(Unknown)'
        ELSE username 
    END AS username
FROM users_table

Мне это нравится, потому что его легко обобщать, когда у вас сложные выражения (вы можете добавить столько WHEN, сколько вы хотите), и это работает во многих СУБД.

(В этом случае я бы использовал COALESCE из ответа @ ajreal .)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...