Chúng tôi sử dụng một chức năng để làm điều gì đó tương tự mà looped qua chuỗi, mặc dù điều này là chủ yếu để loại bỏ nhân vật mà không được trong "@ValidCharacters" chuỗi. Điều đó rất hữu ích khi xóa bất kỳ thứ gì mà chúng tôi không muốn - thường là các ký tự không phải chữ và số, mặc dù tôi nghĩ chúng tôi cũng có không gian, trích dẫn, trích dẫn một lần và một số người khác trong chuỗi đó. Nó đã thực sự được sử dụng để loại bỏ các nhân vật không in ấn mà có xu hướng lẻn vào những lúc như vậy có thể không hoàn hảo cho trường hợp của bạn, nhưng có thể cung cấp cho bạn một số ý tưởng.
CREATE FUNCTION [dbo].[ufn_RemoveInvalidCharacters]
(@str VARCHAR(8000), @ValidCharacters VARCHAR(8000))
RETURNS VARCHAR(8000)
BEGIN
WHILE PATINDEX('%[^' + @ValidCharacters + ']%',@str) > 0
SET @str=REPLACE(@str, SUBSTRING(@str ,PATINDEX('%[^' + @ValidCharacters +
']%',@str), 1) ,'')
RETURN @str
END
Nguồn
2016-08-31 10:42:06
sử dụng khác 'REPLACE': 'REPLACE (REPLACE (T2 [ShipToCode], '&', 'và'), '', ''.)' – Lamak