ලිපි නාමාවලිය
MySQL දත්ත සමුදායනිත්ය ප්රකාශනය ගැලපෙන්නේ කෙසේද?MySQL භාවිතය වැනි regexp
MySQL නිත්ය ප්රකාශන
MySQL විය හැකි බව පෙර පරිච්ඡේදවලදී අපි ඉගෙන ගත්තෙමු මෙන්...% නොපැහැදිලි ගැලපීම සඳහා.
MySQL අනෙකුත් නිත්ය ප්රකාශන ගැලපීමටද සහය දක්වයි.REGEXP ක්රියාකරු MySQL හි සාමාන්ය ප්රකාශන ගැලපීම සඳහා භාවිතා කරයි.
ඔබ PHP හෝ Perl දන්නේ නම්, MySQL හි නිත්ය ප්රකාශන ගැලපීම මෙම ස්ක්රිප්ට් වලට සමාන බැවින් එය ඉතා සරල ය.
පහත වගුවේ ඇති සාමාන්ය රටා REGEXP ක්රියාකරුට යෙදිය හැක.
ප්රකාරය | විස්තර |
---|---|
^ | ආදාන තන්තුවේ ආරම්භයට ගැලපේ.^ RegExp වස්තුවේ බහු රේඛා ගුණය සකසා ඇත්නම් '\n' හෝ '\r' පසු ස්ථානයටද ගැලපේ. |
$ | ආදාන තන්තුවේ අවසානයට ගැලපේ.RegExp වස්තුවේ බහු රේඛා ගුණය සකසා ඇත්නම්, $ ද '\n' හෝ '\r' ට පෙර ස්ථානයට ගැලපේ. |
. | "\n" හැර ඕනෑම තනි අක්ෂරයකට ගැලපේ.'\n' ඇතුළු ඕනෑම අක්ෂරයක් ගැලපීමට, '[.\n]' වැනි රටාවක් භාවිතා කරන්න. |
[...] | චරිත එකතුව.අඩංගු ඕනෑම අක්ෂරයකට ගැලපේ.උදාහරණයක් ලෙස, '[abc]' "plain" හි 'a'. |
[^…] | සෘණ අක්ෂර කට්ටලය.අඩංගු නොවන ඕනෑම අක්ෂරයකට ගැලපේ.උදාහරණයක් ලෙස, '[^abc]', "සරල" හි 'p' සමඟ ගැලපේ. |
p1|p2|p3 | p1 හෝ p2 හෝ p3 ගැලපේ.උදාහරණයක් ලෙස, 'z|ආහාර' "z" හෝ "ආහාර" යන දෙකටම ගැලපේ. '(z|f)ood' "zood" හෝ "food" වලට ගැලපේ. |
* | පෙර උපප්රකාශනය ශුන්ය හෝ වැඩි වාර ගණනක් ගැලපේ.උදාහරණයක් ලෙස, zo* "z" මෙන්ම "zoo" ට ගැලපේ. * {0,} ට සමාන වේ. |
+ | පෙර උප ප්රකාශනයට එක් වරක් හෝ වැඩි වාර ගණනක් ගැළපේ.උදාහරණයක් ලෙස, 'zo+' "zo" සහ "zoo" වලට ගැලපේ, නමුත් "z" නොවේ. + {1,} ට සමාන වේ. |
{n} | n යනු සෘණ නොවන පූර්ණ සංඛ්යාවකි.හරියටම n වාරයක් ගැලපේ.උදාහරණයක් ලෙස, 'o{2}' "Bob" හි 'o' ට නොගැලපේ, නමුත් "ආහාර" තුළ o දෙකටම ගැලපේ. |
{n,m} | m සහ n දෙකම සෘණ නොවන පූර්ණ සංඛ්යා වේ, මෙහි n <= m.අවම වශයෙන් n වාරයක් සහ උපරිම වශයෙන් m වාර ගණනක් ගැලපේ. |
උදාහරණය
ඉහත නිත්ය අවශ්යතා තේරුම් ගැනීමෙන් පසුව, අපගේ අවශ්යතා අනුව නිත්ය ප්රකාශන සහිත SQL ප්රකාශ ලිවිය හැක.අපගේ අවබෝධය ගැඹුරු කිරීම සඳහා අපි කුඩා උදාහරණ කිහිපයක් (වගුවේ නම: person_tbl) පහත ලැයිස්තුගත කරන්නෙමු:
නාම ක්ෂේත්රයේ 'st' වලින් ආරම්භ වන සියලුම දත්ත සොයන්න:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
නාම ක්ෂේත්රයේ 'ok' යන්නෙන් අවසන් වන සියලුම දත්ත සොයන්න:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
නාම ක්ෂේත්රයේ 'mar' තන්තුව අඩංගු සියලුම දත්ත සොයන්න:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
ස්වර අක්ෂරයකින් ආරම්භ වන හෝ 'ok' තන්තුවෙන් අවසන් වන නාම ක්ෂේත්රයේ සියලුම දත්ත සොයන්න:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang බ්ලොග් ( https://www.chenweiliang.com/ ) shared "MySQL දත්ත සමුදාය නිත්ය ප්රකාශන ගැලපෙන්නේ කෙසේද? MySQL regexp like usage" ඔබට උදවු කරයි.
මෙම ලිපියේ සබැඳිය බෙදා ගැනීමට සාදරයෙන් පිළිගනිමු:https://www.chenweiliang.com/cwl-492.html
නවතම යාවත්කාලීන ලබා ගැනීමට Chen Weiliang ගේ බ්ලොගයේ Telegram නාලිකාව වෙත සාදරයෙන් පිළිගනිමු!
📚 මෙම මාර්ගෝපදේශයෙහි විශාල වටිනාකමක් ඇත, 🌟මෙය දුර්ලභ අවස්ථාවක්, එය අතපසු නොකරන්න! ⏰⌛💨
ඔබ කැමති නම් Share කර Like කරන්න!
ඔබගේ බෙදාගැනීම් සහ කැමැත්ත අපගේ අඛණ්ඩ අභිප්රේරණයයි!