mysql - 将查询更改为mysql?

标签 mysql codeigniter postgresql

我有这样的查询

$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/

相关文章:

php - 有什么方法可以从 MySQL 执行 PHP 脚本吗?

mysql - 将左连接写成子查询

php - 评分,满分 10,在赞成票和反对票之间

postgresql - 在多个表中插入动态列列表的函数

postgresql - file_fdw 访问远程服务器上的 csv 文件

java - 如何设置jdbc驱动类路径

php - 如何使事件记录多对多关系更容易在codeigniter中开发?

通过魔术方法访问的 PhpStorm 字段

php - Codeigniter 站点仅显示一个包含的 View

ruby-on-rails - 确定 postgres 中是否存在大量行的有效方法