Cách loại bỏ các ký...
 
Notifications
Clear all

Cách loại bỏ các ký tự đặc biệt trong SQL

2 Posts
1 Users
0 Reactions
814 Views
admin
Posts: 444
Admin
Topic starter
(@admin)
Noble Member
Joined: 3 years ago

Yêu cầu: cần loại bỏ các ký tự đặc biệt trong field text. 

Ví dụ:

Text trước khi được xử lý: '%abc &def #g $h Øi !j (k)'

Text sau khi được xử lý: 'abc def g h i j k'

Giải pháp:

DECLARE @str VARCHAR(400)='%abc &def #g $h Øi !j (k)'
DECLARE @expres  VARCHAR(50) = '%[~,@,#,$,%,&,*,(,),.,Ø,",!]%'

WHILE PATINDEX( @expres, @str ) > 0
SET @str = Replace(REPLACE( @str, SUBSTRING( @str, PATINDEX( @expres, @str ), 1 ),''),'-',' ')
SELECT @str

Nguồn: Stackoverflow

 

Reply
1 Reply
admin
Posts: 444
Admin
Topic starter
(@admin)
Noble Member
Joined: 3 years ago

Để dễ dàng thực hiện câu truy vấn, bạn có thể tạo hàm và sau đó sử dụng hàm vừa tạo trong các câu query.

1. Tạo function

CREATE FUNCTION UF_Remove_SpecialCharacters( @str NVARCHAR(MAX))
RETURNS NVARCHAR(MAX) AS
BEGIN
DECLARE @expres  NVARCHAR(50) = '%[~,@,#,$,%,&,*,(,),.,Ø,",!]%'

WHILE PATINDEX( @expres, @str ) > 0
SET @str = Replace(REPLACE( @str, SUBSTRING( @str, PATINDEX( @expres, @str ), 1 ),''),'-',' ')
RETURN @str
END

2. Sử dụng hàm vừa tạo trong câu truy vấn

Reply
Share:
x  Powerful Protection for WordPress, from Shield Security
This Site Is Protected By
Shield Security