mysql如果那么声明不起作用?

时间:2013-11-09 17:17:23

标签: mysql if-statement strcmp

我是盲人,还是我的查询有什么问题?

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

工作正常。然而

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

返回:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   'STRCMP附近(消息,'LogMessage')= 1那么'bla'END IF来自     第2行的LogEntries

这句话有什么问题?

1 个答案:

答案 0 :(得分:0)

您可能希望使用CASE WHEN:

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

当条件为真时,它将返回'bla',否则,因为没有其他部分,它将返回NULL。