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

Bha*_*mar 10 mysql

在我的表中,我有名字和姓氏.很少有名字是大写的(ABRAHAM),很少有名字是小写(亚伯拉罕),很少有名字是以ucword(亚伯拉罕)开头的.

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

SELECT * FROM `test_tbl` WHERE cus_name REGEXP '^[abc]';
Run Code Online (Sandbox Code Playgroud)

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

所以对于上面这个查询我没有得到正确的记录显示.

Dav*_*nde 16

我认为您应该查询您的数据库,确保名称被降低,假设名称是您要找出的名称,并且在您的应用程序中,您已将其降低为"亚伯拉罕",现在您的查询应如下所示:

SELECT * FROM `test_tbl` WHERE LOWER(cus_name) = name
Run Code Online (Sandbox Code Playgroud)

由于我不知道你使用的语言,我只是放置了名字,但要确保降低这个名称,你应该检索亚伯拉罕,亚伯拉罕或任何名称的变体!

Hepe它有帮助!


cod*_*ict 6

你有没有尝试过:

SELECT * FROM `test_tbl` WHERE LOWER(cus_name) REGEXP '^[abc]';
Run Code Online (Sandbox Code Playgroud)