Thứ Hai, 13 tháng 2, 2012

Tự tạo hàng TRIM - cắt bỏ khoảng trắng dư thừa trong SQL


Chuẩn hóa xâu loại bỏ khoảng trắng

Yêu cầu:
- Loại bỏ khoảng trẳng đầu và cuối chuỗi
- Loại bỏ khoảng trắng giữa chuỗi
Bài này có thể dùng Store procedure hoặc Function để làm

Mã PHP: (SELECT ALL)
create function TRIM(@STR  nvarchar(255))returns nvarchar(255)
as
begin
    
declare  @space nvarchar(30)
    
set @space CHAR(32) + CHAR(32)
    
SET @STR LTRIM(RTRIM(@STR))
   
    while 
CHARINDEX(@space, @STR) > 0
    begin
        SET 
@STR REPLACE(@STR, @space' ')
    
end;
    return @
STR
end
;

-- 
execute
select dbo
.TRIM('   ABC              DEF        '

- CHAR(@ASCII): trả về kí tự có mã @ASCII.
- LTRIM(@string), RTRIM(@string): loại bỏ khoảng trắng ở đầu chuỗi, cuối chuỗi @string.
- CHARINDEX(@string1, @string2[, @start_location]): trả về vị trí tìm thấy được đầu tiên của chuỗi @string2 trong chuỗi @string1 bắt đầu từ vị trí tìm kiếm @start_location, ví dụ:
+ SELECT CHARINDEX('Phu', 'Nguyen Hong Phu K32B') -- Value = 13
+ SELECT CHARINDEX('Phu', 'Nguyen Hong Phu K32B',10) -- Value = 13
+ SELECT CHARINDEX('Phu', 'Nguyen Hong Phu K32B',15) -- Value = 0 (bởi vì giá trị bắt đầu truyền vào từ ký tự 15 trở đi)
- REPLACE(@string1, @string2, @string3): thay thế toàn bộ các chuỗi @string2 trong chuỗi @string1 bằng chuỗi @string3.

Không có nhận xét nào:

Đăng nhận xét