MYSTERY ZILLION တွင် English သို့မဟုတ် Unicode ဖြင့်သာ အသုံးပြုခွင့်ရှိသည်။ ဇော်ဂျီ ၊ ဧရာ စသည်တို့ကို အသုံးပြုခွင့် မရှိ။ Unicode fonts များမှာ Mon3,Yunghkio, Myanamr3 စသည်များ အသုံးပြုနိုင်သည်။ Unicode Guide ကို ဒီမှာ Download ချပါ။ Zawgyi to Unicode Converter
Don't share ebook or software if nobody request. You can find free book websites on here. We are welcome for discussion or asking question instead.

Searching With Prefix Of One Word In String

edited May 2013 in Database
MySQL မှာ ရှာတဲ့ query ရေးတာ နည်းနည်းလောက်ကြည့်ပြီး ပြောပြပေးပါအုံး။

Fullname columnမှာ HOBLEY, Jonathanဆိုပြီးရှိတာ ရှာရင် "Jonathan Hobley", "jon", "hob","jonathan", "hobley"ဆိုတဲ့ keywordsတွေနဲ့ ရှာရင်ထွက်ရမယ်။

အောက်ကရေးတဲ့ပုံနဲ့ဆို "Jonathan Hobley", "hob","jonathan", "hobley"တို့ အတွက် အဆင်ပြေပေမယ့် "jon" အတွက်ကျတော့ အဆင်မပြေတော့ဘူး။ LIKE '%jon%'လဲသုံးလို့မရဘူး။ stringထဲမှာမှ one wordရဲ့ ရှေ့လေးပဲ တိုက်စစ်တာမရှိဘူးလား။ သိရင် docလေး pointလုပ်ပေးကြပါအုံး။

<pre lang="sql"> (res._Fullname REGEXP ':<:Jonathan Hobley:>:' OR res._Fullname REGEXP ':<:JonathanHobley:>:' OR res._Fullname REGEXP ':<:Jonathan:>:' OR res._Fullname REGEXP '^Jonathan' OR res._Fullname REGEXP ':<:Hobley:>:' OR res._Fullname REGEXP '^Hobley')</pre>
Tagged:

မှတ်ချက်များ

  • edited May 2013 Administrators
    Create a full-text index on Fullname column. You can use Boolean or Natural Language Search. I think Boolean mode should be fine for your requirement, but you should try both, compare the results and you can decide.

    Query
    <pre lang="sql">
    SELECT * FROM your_table WHERE MATCH(full_text_indexed_columns) AGAINST ('query string' IN BOOLEAN MODE);
    SELECT * FROM your_table WHERE MATCH(full_text_indexed_columns) AGAINST ('query string' IN NATURAL LANGUAGE MODE);
    </pre>

    Example
    <pre lang="sql">
    SELECT * FROM your_table WHERE MATCH(Fullname) AGAINST ('jon' IN BOOLEAN MODE);
    SELECT * FROM your_table WHERE MATCH(Fullname) AGAINST ('jon' IN NATURAL LANGUAGE MODE);
    </pre>

    query string = any keywords can be used such as 'jon hob', 'jonathan', ....
  • Registered Users
    Wow! Thank you. Thank you very much.

    It is working with

    <pre lang="sql">
    select * from _user where match(_Fullname) against ('jon*' IN BOOLEAN MODE);
    </pre>
  • Administrators
    You are welcome. You can explore the document, there are a few set of query operators. And you can also sort the results by ranking. Unfortunately full-text index only works with MyISAM on MySQL 5.5 and lower. MySQL 5.6 and above will be also fine with InnoDB.
Sign In or Register to comment.