当前位置: 首页 > 面试题库 >

SQL'LIKE'语法

宓文斌
2023-03-14
问题内容

我正在编写一个需要同时在mysql和postgresql上运行的应用程序。我必须使用like比较一些值。

mysqlLIKE,不区分大小写。在postgresql中,LIKE它区分大小写,ILIKE不区分大小写。

在匹配必须不区分大小写的情况下,使实体查询对两者都起作用的最佳方法是什么?

PDO对此有解决方案吗?


问题答案:

确保不区分大小写的LIKE的最简单方法是使用以下类似方法之一:

LOWER(column_name) LIKE LOWER(pattern)
UPPER(column_name) LIKE UPPER(pattern)

或者,您可以使用大写/小写pattern外部SQL并仅使用:

LOWER(column_name) LIKE down_cased_pattern
UPPER(column_name) LIKE up_cased_pattern

我倾向于LOWER出于习惯,因为小写字母更易于阅读,因此更容易调试。



 类似资料:
  • 问题内容: 我正在使用django应用程序,该应用程序执行一些“ startswith” ORM操作,将列与unicode字符串进行比较。这将导致使用unicode字符串进行比较操作。LIKE BINARY可能会比普通LIKE慢吗? 我知道一般的答案是基准测试,但是我想对数据库有一个总体的了解,而不仅仅是我的应用程序,因为我以前从未见过LIKE BINARY查询。 我碰巧正在使用MySQL,但我总

  • 主要内容:1. 生产参数,2. 缩进空间,3. 分离空间,4. 忽略行前缀,5. 折叠线在本章中,将了解YAML中语法原语的以下几个方面 - 生产参数 缩进空间 分离空间 忽略的行前缀 折叠线 下面来详细地了解每个方面。 1. 生产参数 生产参数包括一组参数以及在特定生产中使用的允许值范围。 YAML中使用以下生产参数列表 - 缩进 它由字符或表示字符流取决于其中包含的块的缩进级别。 许多生产都参数化了这些功能。 上下文 它由表示,YAML支持两组上下文:块样式和流样式。 样式 它由

  • 这一部分将 Rust 拆成小的部分,每一部分对应一个概念。 如果你想要自底向上的学习 Rust,按顺序阅读这一部分将会有很大帮助。 这些部分也组成了一个对各种概念的参考,所以如果你阅读其它教程并发现一些迷惑的问题,你可以在这里找到一些解释。

  • 我想用javascript/php实现法语、俄语等外语的拼写更正。对于英语拼写检查器,我可以使用编辑距离算法从英语词典中检索单词(词典是使用Trie构建的),并返回最频繁的单词。我还找到了关于这方面的文章,例如。http://stevehanov.ca/blog/index.php?id=114.我认为对于外语来说,同样的方法也是有用的。 我相信必须为不同的语言提供API,但我不想在我的应用程序中

  • 主要内容:第一个Dart语序,Dart命令行选项,启用检查模式,Dart标识符,Dart关键字,Dart注释,Dart面向对象编程语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart程序代码由以下组成 - 变量和运算符 类 函数 表达式和编程构造 决策和循环结构 注解 库和包 类型定义 数据结构 - 集合/泛型 第一个Dart语序 函数是Dart中的预定义方法。此方法充当应用程序的入口点。Dart脚本需要方法来执行。是一个预定义的函数,它将指定的字符串或值打印到标准输出(即

  • 主要内容:R命令提示符,R脚本文件,注释学习一个新编程语言的惯例是什么?,当然是编写一个“Hello,World!”,下面我们将演示如何使用R编程编写一个“Hello,World!”程序。根据需要,您可以在R命令提示符下编程,也可以使用R脚本文件编写程序。 R命令提示符 当安装好了R开发环境以后,那么通过在命令提示符下键入以下命令,就可以启动R命令提示符 - 或者,在Windows系统下 - 这将启动R解释器,您将获得一个提示您可以在以