mysql if then 语句不起作用?

标签 mysql if-statement strcmp

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

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/

相关文章:

excel - Excel 中的 If 语句

mysql - 如何为此编写选择查询

php - 如何将大量数据以一个值传输到 MySQL 服务器?

javascript - 如果输入值等于Div的ID,则显示它

Java While 循环

c - scanf 如何处理字符串和整数? C

matlab - MATLAB 中不等长元胞数组的 Strcmp

PHP strcmp result int 含义

php - 数据完整性和限制

mysql - 为什么 ActiveRecord 和/或 MySQL 对此字符有问题?