| | |
| | | line = " IF " + pName + " IS NOT NULL THEN SET @cond=CONCAT(@cond,' AND " + col + "=',QUOTE(" + pName + ")); END IF;"; |
| | | break; |
| | | case "like": |
| | | // MySQL 存储过程内 '' 表示一个单引号 |
| | | line = " IF " + pName + " IS NOT NULL THEN SET @cond=CONCAT(@cond,' AND " + col + " LIKE CONCAT(''%''," + pName + ",''%'')'); END IF;"; |
| | | // 必须用 QUOTE() 把值展开到字符串里,否则 PREPARE 执行时参数名被当列名 |
| | | line = " IF " + pName + " IS NOT NULL THEN SET @cond=CONCAT(@cond,' AND " + col + " LIKE CONCAT(''%'',',QUOTE(" + pName + "),',''%'')'); END IF;"; |
| | | break; |
| | | case "date_ge": |
| | | line = " IF " + pName + " IS NOT NULL THEN SET @cond=CONCAT(@cond,' AND " + col + ">=',QUOTE(" + pName + ")); END IF;"; |