0

私は目が見えないのですか、それともクエリの何が問題なのですか?

select 
    STRCMP( message, 'LogMessage') = 1
from 
    LogEntries;

正常に動作します。でも

select 
    IF STRCMP( message, 'LogMessage') = 1 THEN 'bla' END IF
from 
    LogEntries;

戻り値:

SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、2 行目の 'STRCMP( message, 'LogMessage') = 1 THEN 'bla' END IF from LogEntries' 付近で使用する正しい構文を確認してください。

このステートメントの何が問題になっていますか?

4

1 に答える 1

0

CASE WHEN を使用する場合:

SELECT
  CASE WHEN STRCMP( message, 'LogMessage') = 1 THEN 'bla' END AS your_column
FROM
  LogEntries;

条件が true の場合は「bla」を返します。それ以外の場合は、else 部分がないため、NULL を返します。

于 2013-11-09T17:38:15.140 に答える