IF的代码...那么在SQL SELECT中

时间:2015-06-18 04:47:48

标签: mysql sql

我是一个SQL新手,在这种情况下,我想在SQL SELECT语句中执行IF..THEN,我尝试编写这样的代码,但它返回错误语法

这是我的代码:

SELECT *,IF(total_skor <= 100 AND total_skor >= 80,"Amat Baik")
AS pred FROM rekap_nilai ORDER BY id ASC

你能告诉我我的代码有什么问题吗?谢谢先生/女士。

3 个答案:

答案 0 :(得分:1)

你在查询中遗漏了其他部分,否则你的查询ok.Below查询其他部分。

SELECT *,IF(total_skor <= 100 AND total_skor >= 80,"Amat Baik",NULL) AS pred FROM rekap_nilai ORDER BY id ASC;

答案 1 :(得分:0)

MySQL IF函数接受三个参数。第一个被计算为布尔表达式,如果它的计算结果为true(任何非零整数值),则该函数返回第二个参数,否则返回第三个​​参数。

您的IF缺少第三个参数,当布尔表达式未计算为TRUE时返回的值。

这可以是任何表达式,包括文字空字符串或NULL关键字,无论你想要返回什么。

    IF(total_skor <= 100 AND total_skor >= 80,'Amat Baik','foo')
                                                         ^^^^^^

注意:

您的第一个参数也可以使用BETWEEN比较重写,例如:

    IF(total_skor BETWEEN 80 AND 100, 'Amat Baik', '')

答案 2 :(得分:0)

使用以下IF语句

SELECT *, IF (total_skor <= 100 AND total_skor >= 80,"AmatBaik",NULL)AS pred 
FROM rekap_nilai 
ORDER BY id ASC