Dưới đây là một ví dụ về trả lại các hàng có chứa các ký tự chữ và số trong SQLite.
Ký tự chữ và số là ký tự chữ cái và ký tự số.
Ví dụ
Giả sử chúng ta có một bảng với dữ liệu sau:
SELECT c1 FROM t1;
Kết quả:
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 () [email protected]#&()–[{}]:;',?/* `~$^+=<>“ $1.50 Player 456 007 null é É é 123 ø ø 123
Chúng ta có thể sử dụng REGEXP
toán tử với một biểu thức chính quy để chỉ trả về những hàng chỉ chứa các ký tự chữ và số:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-z0-9]+$';
Kết quả:
Music 007
Trong trường hợp này, tôi không bao gồm các ký tự unicode như é
, É
hoặc ø
trong phạm vi của tôi, và vì vậy bất kỳ hàng nào chứa các ký tự đó đều bị loại trừ khỏi đầu ra.
Bạn cần đảm bảo rằng bạn đã nắm được các ký tự có liên quan khi thực hiện việc này.
Dưới đây là một ví dụ về việc mở rộng phạm vi để bao gồm các ký tự đó:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$';
Kết quả:
Music Café 007 é É ø
Ký tự khoảng trắng không phải là chữ và số. Do đó, để trả về các hàng bao gồm dấu cách, chúng ta có thể thêm dấu cách vào biểu thức chính quy của mình:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9 ]+$';
Kết quả:
Music Live Music Café Café Del Mar 100 Cafés Player 456 007 é É é 123 ø ø 123
Chúng tôi có thể sử dụng mã sau để bao gồm tất cả các hàng chứa các ký tự từ phạm vi của chúng tôi (ngay cả khi chúng cũng chứa các ký tự bên ngoài phạm vi này):
SELECT c1 FROM t1
WHERE c1 REGEXP '[A-Za-zÀ-Þß-ÿ0-9]';
Kết quả:
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 $1.50 Player 456 007 é É é 123 ø ø 123