我的mysql语法有问题。 我有我的子选择:
(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然后结束.." 现在我要验证:"如果cdr.dst有< 5则创建虚拟列名称RAMAL"
我尝试过这种语法:IF(LENGTH(cdr.dst) <4, THEN cdr.dst AS ramal END
但没有工作。
我该怎么做?
谢谢!
答案 0 :(得分:3)
语法为:
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,
IF(LENGTH(dst) < 4, dst, NULL) AS ramal
FROM cdr
使用THEN
功能时没有END
或IF
。