我是盲目的还是我的查询有什么问题?
select
STRCMP( message, 'LogMessage') = 1
from
LogEntries;
工作正常。然而
select
IF STRCMP( message, 'LogMessage') = 1 THEN 'bla' END IF
from
LogEntries;
返回:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STRCMP( message, 'LogMessage') = 1 THEN 'bla' END IF from LogEntries' at line 2
这个说法有什么问题吗?
最佳答案
您可能想使用 CASE WHEN:
SELECT
CASE WHEN STRCMP( message, 'LogMessage') = 1 THEN 'bla' END AS your_column
FROM
LogEntries;
当条件为 true 时,它将返回 'bla',否则,由于没有 else 部分,它将返回 NULL。
关于mysql if then 语句不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19879729/