我是一个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
你能告诉我我的代码有什么问题吗?谢谢先生/女士。
答案 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