Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách thay thế một phần của chuỗi trong T-SQL

Vấn đề:

Bạn muốn chọn các hàng có chứa một chuỗi bắt đầu bằng một trong các nhóm ký tự nhất định.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng có tên là gamer với dữ liệu trong iduser cột.

id người dùng
1 siêu nhân
2 magnus
3 lucy
4 stan
5 ali

Hãy tìm tất cả dữ liệu về những người chơi có tên người dùng bắt đầu bằng ‘a’, ‘b’, ‘r’ hoặc ‘s’.

Giải pháp:

SELECT id, 
  user
FROM gamer
WHERE user LIKE '[abrs]%';

Đây là kết quả:

id người dùng
1 siêu nhân
4 stan
5 ali

Thảo luận:

Nếu bạn muốn lọc các hàng chứa một chuỗi phù hợp với một mẫu nhất định, hãy sử dụng mệnh đề WHERE với toán tử LIKE. Mệnh đề WHERE được sử dụng để lọc các bản ghi đáp ứng các điều kiện đã nêu. Sau WHERE, bạn thêm tên cột hoặc biểu thức, theo sau là toán tử (ví dụ:LIKE) và (các) giá trị so sánh. Sau khi LIKE, bạn nhập mẫu để phù hợp (trong ví dụ của chúng tôi, WHERE user LIKE '[abrs]%' ). Mẫu có thể chứa các ký tự và ký tự đại diện.

Một trong các ký tự đại diện của T-SQL là ‘%’, đại diện cho không hoặc nhiều ký tự không xác định. Ký tự đại diện gạch dưới (_) cho biết một ký tự. Dấu ngoặc ([]) bao quanh mẫu để khớp; mẫu này có thể chứa một hoặc nhiều chữ cái hoặc số. Chuỗi đích có thể khớp với một hoặc nhiều ký tự trong dấu ngoặc.

Trong ví dụ của chúng tôi, mẫu '[abrs]%' biểu thị rằng tên người dùng phải bắt đầu bằng a, b, r hoặc s. Sau ký tự bắt đầu, có thể không có hoặc nhiều ký tự vì chúng tôi đã sử dụng ký tự đại diện%.

Người dùng có id =2 id =3 không được hiển thị; tên của chúng bắt đầu bằng 'l' và 'm' và do đó không khớp với mẫu mà chúng tôi đã chọn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để sắp xếp theo số trong SQL?

  2. Xóa dấu vết mặc định - Phần 3

  3. Xây dựng một ứng dụng web đơn giản với Bottle, SQLAlchemy và API Twitter

  4. Xem xét DBCC CHECKCONSTRAINTS và I / O

  5. Quan hệ vs cơ sở dữ liệu không quan hệ - Phần 3