在 MYSQL VER 8 儲存的 700 萬筆記錄中尋找包含字母、空格和句點以外的字元的記錄
P粉132730839
P粉132730839 2024-02-25 21:01:35
0
1
411

我在 MYSQL DB 中插入了特殊字符,如下例所示,主要是在資料庫的名字、姓氏列中。

<强>1。 ➡️BALPAI SAB

<强>

############ ######2。 ��������������������������°���������������������� �������������������������������������������������� ���������������������������������������������� ??## #### ######有效案例:####### ###*Saurabh Shree### ###S.shree### ###T.M.安東尼### ###老查爾斯·巴貝奇*### ######長度是可變的。所有內容都不區分大小寫,沒有尾隨空格。兩個連續單字之間只允許有空格和句點###。 ### ###我已經瀏覽了 regexp 的帖子,並將列和表的排序規則更改為 ###utfmb4_unicode_ci### 並應用了 ###regexp### 但沒有運氣。 ### ###我必須在大約 700 萬筆記錄中搜尋甚至單一字元的出現。 ###
SELECT FARMER_BRANCH_NAME, HEX(FARMER_BRANCH_NAME) FROM BSBY.PROPOSAL

OUTPUT

Farmer Branch Name      Hex(Farmer Branch Name)
SME œ•œBRANCH JASDANœ•œ   534D45209C959C4252414E4348204A415344414E9C959C
নলহাটি        E0A6A8E0A6B2E0A6B9E0A6BEE0A69FE0A6BF
নলহাটি        E0A6A8E0A6B2E0A6B9E0A6BEE0A69FE0A6BF
নলহাটি        E0A6A8E0A6B2E0A6B9E0A6BEE0A69FE0A6BF
SME œ•œBRANCH JASDANœ•œ   534D45209C959C4252414E4348204A415344414E9C959C
Mumbai - Chembur         4D756D626169202D204368656D627572C2A0
New Delhi - Connaught Place - II   4E65772044656C6869202D20436F6E6E617567687420506C616365202D204949C2A0
Mumbai - Malad            4D756D626169202D204D616C6164C2A0
Bangalore - Cantonment    42616E67616C6F7265202D2043616E746F6E6D656E74C2A0
Ahmedabad-BOPAL           41686D6564616261642D424F50414CC2A0
SME œ•œBRANCH JASDANœ•œ    534D45209C959C4252414E4348204A415344414E9C959C

SELECT FARMER_NAME,HEX(FARMER_NAME) FROM BSBY_UAT.PROPOSAL where FARMER_NAME NOT REGEXP '[A-Za-z0-9.() ]$' 

OUTPUT

FARMER NAME         HEX(FARMER NAME)
RAHIM BISWAS        524148494D2042495357415309
ESARUL GAZI         45534152554C2047415A4909
GOLAM NABI MANDAL   474F4C414D204E414249204D414E44414C09
LATIF MANDAL        4C41544946204D414E44414C09
NILKAMAL MANDAL     4E494C4B414D414C204D414E44414C09
SHUKUR ALI MONDAL   5348554B555220414C49204D4F4E44414C09
¦€ Â¦€° Â¦€º Â§Â Â¦€¢  Â¦€  Â¦Â² Â¦Â¿  A0C2A680A0C2A680B0A0C2A680BAA0C2A7C281A0C2A680A220A0C2A680A0A0C2A6C2B2A0C2A6C2BF
HASINA KHATUN       484153494E41204B484154554E09
KSHETRAGOPAL GHOSH  4B534845545241474F50414C2047484F534809
SUKUMAR DAS HALDAR  53554B554D4152204441532048414C44415209
Yasin Hossain       596173696E20486F737361696E09
SHAH HOSSAIN MOLLA  5348414820484F535341494E204D4F4C4C4109
RAMJAN SEKH         52414D4A414E2053454B4809
Nibaran Ch. Mahato  4E69626172616E2043682E204D616861746F09
PRAKASH KUMAR MONDAL 5052414B415348204B554D4152204D4F4E44414C2009
UNFERA BEWA          554E4645524120424557410909
BODRUL HOQUE        424F4452554C20484F5155450909
à¦à¦¾à¦¦à¦² চনà§à¦¦à§à¦° সরকার    E0A6E0A6BEE0A6A6E0A6B220E0A69AE0A6A8E0A78DE0A6A6E0A78DE0A6B020E0A6B8E0A6B0E0A695E0A6BEE0A6B0
à¦à¦¾à¦¦à¦² চনà§à¦¦à§à¦° সরকার    E0A6E0A6BEE0A6A6E0A6B220E0A69AE0A6A8E0A78DE0A6A6E0A78DE0A6B020E0A6B8E0A6B0E0A695E0A6BEE0A6B0
মিনতি সিংহ    E0A6AEE0A6BFE0A6A8E0A6A4E0A6BF20E0A6B8E0A6BFE0A682E0A6B9
রেখা সরকার    E0A6B0E0A787E0A696E0A6BE20E0A6B8E0A6B0E0A695E0A6BEE0A6B0
রেখা সরকার    E0A6B0E0A787E0A696E0A6BE20E0A6B8E0A6B0E0A695E0A6BEE0A6B0
SUKDEB SARKARপ    53554B444542205341524B4152E0A6AA
KEYAMUL SEKH            4B4559414D554C2053454B480909
घोष पारà¥à¤µà¤¤à¥€  E0A498E0A58BE0A4B720E0A4AAE0A4BEE0A4B0E0A58DE0A4B5E0A4A4E0A580
à¦à¦¨à§à¦Ÿà§ সরকার    E0A69DE0A6A8E0A78DE0A69FE0A78120E0A6B8E0A6B0E0A695E0A6BEE0A6B0
à¦à¦²à¦°à¦¾à¦® সরকার  E0A6E0A6B2E0A6B0E0A6BEE0A6AE20E0A6B8E0A6B0E0A695E0A6BEE0A6B0
মনোতোষ সরকার  E0A6AEE0A6A8E0A78BE0A6A4E0A78BE0A6B720E0A6B8E0A6B0E0A695E0A6BEE0A6B0
###這是我的程式碼:###
SELECT distinct(FARMER_APPLICATION_ID) as FARMER_APPLICATION_ID,FARMER_AADHAR_NO,FARMER_EPIC_NO,FARMER_NAME,FARMER_GUARDIAN_NAME,FARMER_CROP_NAME,FARMER_L3_NAME,FARMER_L4_NAME,FARMER_L5_NAME,FARMER_L6_NAME,FARMER_BANK_NAME,FARMER_BANK_IFSC,PARTY_NAME,PARTY_CODE,FARMER_BRANCH_NAME
FROM BSBY_UAT.PROPOSAL 
where FARMER_AADHAR_NO NOT regexp '^[2-9]{1}[0-9]{3}[0-9]{4}[0-9]{4}$'
OR FARMER_BANK_IFSC not regexp '^[A-Z]{4}0[A-Z0-9]{6}$'
OR FARMER_NAME NOT REGEXP '[A-Za-z.() ]$'
OR FARMER_GUARDIAN_NAME NOT REGEXP '[A-Za-z.() ]$'
or FARMER_EPIC_NO NOT REGEXP'[A-Za-z0-9\/]$'
or FARMER_BANK_NAME NOT REGEXP'[A-Za-z.\-() ]$'
or FARMER_BRANCH_NAME NOT REGEXP'[A-Za-z0-9.,()\[\]\-]$'
###
P粉132730839
P粉132730839

全部回覆(1)
P粉340980243

這在問題中取「2」;我想知道它是否提供了任何線索:

à ¦
à ¦¿
à ¦•
à §Â
à ¦°
à ¦®
à ¦¾
à ¦¦
à ¦¿
à ¦¤
à §Â
à ¦Â

對於其中一個十六進位字串,我看到 轉換(UNHEX('E0A69DE0A6A8E0A78DE0A69FE0A78120E0A6B8E0A6B0E0A695E0A6BEE0A6B0')使用utf8mb4) 產生 Jhantu Sarkar

這不一定會帶來解決方案,但它可能會提示插入期間存在編碼問題。

對於正規表示式,請考慮類似

HEX(column) REGEXP '^(..)*[89ABCDEF]'

這將發現字串中是否有任何位元組具有非 Ascii 的 8 位元程式碼。

這是一個混合:

CONVERT(UNHEX('53554B444542205341524B4152E0A6AA') USING utf8mb4) --> 'SUKDEB SARKARপ'

也就是說,它是 Ascii,但結尾帶有孟加拉語「PA」。事實上,您看到的“SUKDEB SARKARઔ是 Mojibake 的標誌。有關 Mojibake(和其他常見混亂)的討論,請參閱此內容:UTF-8 字元有問題;我看到的不是我儲存的

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!