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

Khớp mờ một chuỗi trong SQL

Trong postgres, bạn có thể sử dụng dimstrmatch bưu kiện. Nó tạo ra một levenshtein hàm, trả về khoảng cách giữa hai văn bản, sau đó bạn có thể thực hiện đối sánh mờ với vị từ mẫu sau:

where levenshtein(street_address, '123 Main Avex') <= 1

Điều này sẽ khớp với tất cả các bản ghi, vì khoảng cách giữa '123 Main Avex' và '123 Main Avex' là 1 (1 lần chèn).

Tất nhiên, giá trị 1 đây chỉ là một ví dụ và sẽ thực hiện đối sánh khá nghiêm ngặt (chỉ chênh lệch một ký tự). Bạn nên sử dụng số lớn hơn hoặc, những gì @IVO GELOV mềm - sử dụng khoảng cách tương đối (khoảng cách chia cho chiều dài).



  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 để tính ngày sinh tiếp theo cho một ngày sinh?

  2. Xuất dữ liệu bảng Postgresql bằng pgAdmin

  3. Hàm tổng hợp hoặc cửa sổ PostgreSQL để chỉ trả về giá trị cuối cùng

  4. Tìm nạp các hàng từ nhiều bảng với UNION ALL hay sử dụng một bảng trong sản xuất?

  5. PostgreSQL, trạng thái SQL:42601