1
我有一個mysql語法的問題。 我有我的子查詢:Mysql語法「if length then」語句
(SELECT uniqueid AS uniqueid_idx, calldate, src, dst, dstchannel, billsec,
SUBSTR(CONVERT(IF(LENGTH(dst)>8,cdr.dst,CONCAT('67',cdr.dst)),UNSIGNED INTEGER),1,6) prefixo_normal
FROM cdr)
可以看到:「如果你有cdr.dst> 8則CONCAT ..」 現在我想驗證:「如果cdr.dst有< 5再創建虛擬列名RAMAL」
我已經試過這句法:IF(LENGTH(cdr.dst) <4, THEN cdr.dst AS ramal END
,但不工作。
我該怎麼辦?
謝謝!
您只能在子查詢中放置圓括號。這是一個子查詢嗎?此外,你應該確定錯誤是什麼,所以我們不必猜測。 –
您不能有條件地創建列。該列始終存在,您只能使用條件來確定要放入的內容。 – Barmar
使用'IF(LENGTH(dst)<4,dst,NULL)AS ramal' – Barmar