MySQL 正则表达式查询不区分大小写

标签 mysql

在我的表中,我有名字和姓氏。很少有名字是大写的( ABRAHAM ),很少有名字是小写的(abraham),很少有名字是以 ucword 开头的字符(Abraham)。

所以当我使用 REGEXP '^[abc]' 执行 where 条件时,我没有得到正确的记录。如何将名称更改为小写并使用 SELECT QUERY。

SELECT * FROM `test_tbl` WHERE cus_name REGEXP '^[abc]';

这是我的查询,如果记录是小写的,可以正常工作,但我的记录是中间的,我的所有 cus 名称都不是小写的,所有名称都像 ucword。

所以对于上面的查询,没有得到正确的记录显示。

最佳答案

我认为您应该查询您的数据库以确保名称被降低,假设该名称是您希望找到的名称,并且在您的应用程序中您已将其降低为“abraham”,现在您的查询应该像这个:

SELECT * FROM `test_tbl` WHERE LOWER(cus_name) = name

因为我不知道你使用的是什么语言,所以我只输入了名字,但请确保它被降低了,你应该检索 Abraham、ABRAHAM 或名字的任何变体!

希望有帮助!

关于MySQL 正则表达式查询不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3993272/

相关文章:

mysql - 在 Ubuntu 中运行 liquibase 脚本后出现错误,但在 Windows 中工作正常

java - 使用 Java/Spring 的 MySql 的结果集是空的,它不应该是

mysql - 安装期间出现 Drupal AJAX HTTP 错误

mysql - 列名或提供的值数与表定义不匹配。

mysql - 给定两个用户,选择两个用户评分的每个帖子,以及每个用户对每个帖子的评分

php - 使用带有 php 的 web 服务的 Android 远程 MySQL 操作

mysql工作台错误打开EER

php - 如何使用 mySQL 内连接 3 个表?

mysql - SQL 具有内连接的同一列的多个值

php - 如何从表单字段更新多个 mysql 行