これはmysqlから可能かどうか疑問に思っていました。mysqlは空の値を置き換えます
SELECT username FROM users_table
ユーザ名がNULLの場合、私はこの何かが価値があるあなたはIF
を使用することができますに:)
これはmysqlから可能かどうか疑問に思っていました。mysqlは空の値を置き換えます
SELECT username FROM users_table
ユーザ名がNULLの場合、私はこの何かが価値があるあなたはIF
を使用することができますに:)
SELECT IFNULL(username, 'Unknown') FROM users_table
OR
SELECT COALESCE(username, 'Unknown') FROM users_table
探している場合、それだけで不思議と快適なPHPでそれを行うことができ、「不明」のようなものを表示したいと思います関数。
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
@Piskvor私は私の答えを修正お願いします。 –
「IF(ISNULL(... '?)」という参照でNULL()関数を見つけられないようです... – Piskvor
なく、少なくとも最後に、CASE
:
SELECT
CASE
WHEN username IS NULL THEN '(Unknown)'
ELSE username
END AS username
FROM users_table
それはあなたが複雑な式を持ったときに一般化するのは簡単です(あなたが望むとおりにWHEN
できるだけ多くを追加することができます)、それは多くのDBMSで動作しますので、私はそれが好きです。
(この場合、私は@ajreal's answerからCOALESCEを使用すると思います。)
nice one :) thnx m8 question、phpの代わりにこのメソッドを使用していますあなたはどちらが速いと思いますか?...単なる愚かな質問ですが、知っておく価値があります:) – Val
両方とも同じでなければなりません。 'IFNULL'はmysqlであり、 'COALESCE'は他のSQLの共通文字列です。 (COALESCEは複数の引数を受け入れるのでやや遅くなるかもしれませんが)違いはあまりにも小さいと思います – ajreal
@Val PHPを使用すると空白のユーザを別々に扱うことができます(例えば、CSSクラスをイタリック体で表示するなど) 。 –