2017-09-05 80 views
0

我試圖用LIKE規範來解決問題。我有列:(名字,姓氏,屬性)和LIKE準則:喜歡MySQL中的Concat

「一個或多個任意字符|%|名字| _ |姓氏|%|零個或多個任意字符|」

我該如何解決這個問題?我已經嘗試過輸入:

WHERE attribute LIKE '%[%][first_name][_][last_name][%][0-a-z]'; 

但是肯定它不是正確的方法。輸出應該是例如:

Shayne Dahlquist 0R0V331K8Q7ypBi4Az3B6Nm0jCqUk%Shayne_Dahlquist%46E3O0u7t7 

謝謝你從上面!

+0

你嘗試過使用 「RLIKE」 和 「正規」 經營者? – Schauby

+0

呃,不完全是。正在處理:) – Kermi

+0

我被卡住了...... RLIKE'^ [ - 0-9a-z] +%[???]我怎樣才能在裏面輸入一個列名? – Kermi

回答

1

試試這個:

Select first_name,last_name,attribute from mytable 
Where attribute RLike 
(Concat('^[0-9A-Za-z]+[%][',first_name,']+[_][',last_name,']+[%][-0-9a-z*$]?')) 
+0

謝謝您的迴應:)您或我的: '^ [ - 0-9a-z +] + [\\%A-Z +] + _ [A-Z + \\%] + [ - 0 -9a-z *]'的作品,但不幸的是,有兩個額外的記錄(「josphine_arzate」和「DEirdre_Chace」)出現問題,肯定這是一個與大寫字母大小寫有關的問題。它應該是約瑟芬Arzate和迪爾德爾蔡斯 – Kermi

+0

我一直試圖解決它與二進制,但... – Kermi

+0

問題解決了!添加BINARY情況幫助!謝謝Schauby! – Kermi