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:

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

当条件为真时,它将返回 'bla',否则,由于没有 else 部分,它将返回 NULL。

于 2013-11-09T17:38:15.140 回答