我有这样的查询
$where = $where." CAST({$field} AS TEXT) = '{$value_i}' AND ";
$a[] = "CAST({$field} AS TEXT) ~* '{$value_i}'";
如果我在 postgres 上执行,没关系,如果我在 CAST $field=text 中执行 mysql 错误,如何更改为 mysql 上的查询?
谢谢b4。
最佳答案
尝试
$where = $where." CAST({$field} AS CHAR) = '{$value_i}' AND ";
$a[] = "CAST({$field} AS CHAR) RLIKE '{$value_i}'";
The documentation lists all operators and function MySQL 5.6 knows 。特别注意RLIKE
行为可能与 ~*
略有不同;但是默认情况下它不区分大小写。
您是否需要显式使用CAST
取决于一些因素。 This articel explains which types are automatically converted and when .
关于mysql - 将查询更改为mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24852805/