我有一個要求,我需要根據列上的過濾器提取資料,而過濾器將僅提取字母數字值,這意味著它應至少包含一個字母表和一個數字以供考慮。例如,如果我有五個數字,例如 333,abc,ab333, 33, ab33,則輸出應該只有 ab333 和 ab33。我試圖使用 rlike 函式來實作這一點,查詢如下,但這給出了表中的所有記錄。
select column_name from table_name where column_name rlike '^[a-zA-Z0-9] $';
我還通過使用以下查詢嘗試了不同的方法,但在特殊字符(例如 )的情況下,以下查詢給出了錯誤的結果。
select column_name from table_name where column_name not rlike '^[0-9] $';
任何人都可以指導我關于是否有不同方法的錯誤。
uj5u.com熱心網友回復:
您可以使用
RLIKE '^\\ ?(?:[0-9] [a-zA-Z]|[a-zA-Z] [0-9])[0-9a-zA-Z]*$'
詳情:
^- 字串的開始\ ?- 可選符號(?:[0-9] [a-zA-Z]|[a-zA-Z] [0-9])- 一個或多個數字后跟一個字母或一個或多個字母后跟一個數字然后[0-9a-zA-Z]*- 零個或多個字母數字字符$- 字串的結尾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316050.html
