Tôi cần phải thay thế một danh sách các ký tự trong chuỗi bằng một số ký tự được ánh xạ.Thay thế các ký tự trong một chuỗi dựa trên các hàng trong một bảng sql
Tôi có bảng 'dbo.CharacterMappings' với 2 cột: 'CharacterToFilter' và 'ReplacementCharacter'.
nói rằng có 3 bản ghi trong bảng này:
Filter Replacement
$ s
@ a
0 o
Làm thế nào tôi sẽ thay thế tất cả các ký tự trong một chuỗi lọc dựa trên các ánh xạ?
tức là 'Hell0 c @ t $' cần phải trở thành 'Xin chào mèo'.
Tôi thực sự không thể nghĩ ra bất kỳ cách nào để thực hiện việc này mà không phải dùng đến biến bảng và sau đó lặp qua nó. I E. có một biến bảng với cột 'đếm', sau đó sử dụng vòng lặp để chọn 1 hàng tại một thời điểm dựa trên cột này. Sau đó, tôi có thể sử dụng hàm REPLACE để cập nhật từng ký tự một.
Chỉnh sửa: Tôi nên lưu ý rằng tôi luôn muốn loại bỏ các ký tự này (tôi không cần phải lo lắng về $ 5 -> s5 chẳng hạn).
Wow, cảm ơn. Tôi không biết/chưa bao giờ thấy REPLACE được sử dụng như thế! – RobH
Điều đó sẽ chỉ hoạt động trong một hàm hoặc thủ tục được lưu trữ, nhưng nó vẫn khá trơn. – LittleBobbyTables
@LittleBobbyTables với một vài dấu chấm phẩy, tôi nghĩ bạn có thể sử dụng nó từ bất kỳ đâu? – podiluska