2016-02-29 49 views
0

我收到此錯誤消息! 1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'=='07'||附近使用正確的語法SUBSTRING(COL2,0,3)== '447') billsec * 0.06如率」在行2如何如果條件,然後在mysql中相乘?

SELECT col1, col2, col3, col4, 
IF (SUBSTRING(col2, 0, 2) == '07' || SUBSTRING(col2, 0, 3) == '447') 
col4 * .06 as col5; 
ELSE 
col4 * .03 as col5; 
FROM table_name WHERE id='123' 

但是當該查詢是隻是此

SELECT col1, col2, col3, col4, 
    col4 * .06 as col5 
    FROM table_name WHERE id='123' 

它沒有返回錯誤..有人可以讓我知道如何管理?

+0

應該是=的==代替,然後缺少 –

回答

1

試試這個

SELECT col1, col2, col3, col4, 
IF(SUBSTRING(col2, 1, 2) = '07' OR SUBSTRING(col2, 1, 3) = '447' , col4 * .06 , col4 * .03 ) AS col5 
FROM table_name WHERE id='123'; 

在MySQL中也有,如果另一個版本...否則 IF(CONDITION ,IF_CONTDITION_TRUE, ELSE_PART)

SQLFiddle

+0

仍我收到錯誤 – Bee

+0

你發現了什麼錯誤? –

+0

#1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'=='07'||附近使用正確的語法SUBSTRING(col2,0,3)=='447')THEN col4 * .06 as col5 ELSE col4'at line 2 – Bee