我需要写一个SQL查询,检索和匹配记录从一个表与下列;
first_name, second_name, attribute
目标是编写一个查询,该查询只匹配列attribute
具有以下形式的那些记录;
<one or more arbitrary character>%<first name>_<second name>%<zero or more arbitrary characters>
需要注意的是,即使是字母大小写也与first_name
和second_name
匹配。
first_name second_name attribute
Vicenta Kravitz 0%Vicenta_Kravitz%
Shayne Dahlquist 0R0V331K8Q7ypBi4Az3B6Nm0jCqUk%Shayne_Dahlquist%46E3O0u7t7
Mikel Kravitz PBX86iw1Ied87Z9OarE6sdSLdt%Mikel_Kravitz%W73XOY9YaOgi060r2x12D2EmD
正如您所看到的,first_name和last_name中字母的大小写也是匹配的。
SELECT first_name,
second_name,
attribute
FROM table
WHERE attribute REGEXP '^.+ CONCAT('%',binary(first_name),'_',binary(last_name),'%').*'
ORDER BY attribute;
由于大小写匹配是一个要求,我觉得binary()
函数可以帮助。
ERROR 1064 (42000) at line 35: You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near '_',binary(last_name),'%').*'
ORDER BY attribute;
END' at line 10
看手册没有太大帮助。我能得到一些反馈吗?这里可能出了什么问题?谢谢
2条答案
按热度按时间oug3syen1#
你必须像这样把孔边的弦连接起来
第一次
小提琴
e7arh2l62#
或
或