Thứ Sáu, 2 tháng 11, 2012

Một số hàm xử lý chuỗi trong sql

Trong sql có lẽ chúng ta cũng sử dụng nhiều các hàm xử lý chuỗi. Dưới đây là các hàm xử lý chuỗi trong sql

ASCII
Hàm này trả về giá trị ASCII của keyboard ví dụ (@,R,9,*) 
Cú pháp
ASCII ( character)
Ví dụ:
SELECT ASCII('a') -- giá trị trả về= 97
SELECT ASCII('b') -- giá trị trả về= 98
SELECT ASCII('c') -- giá trị trả về= 99
SELECT ASCII('A') -- giá trị trả về= 65
SELECT ASCII('B') -- giá trị trả về= 66
SELECT ASCII('C') -- giá trị trả về= 67
SELECT ASCII('1') -- giá trị trả về= 49
SELECT ASCII('2') -- giá trị trả về= 50
SELECT ASCII('3') -- giá trị trả về= 51
SELECT ASCII('4') -- giá trị trả về= 52
SELECT ASCII('5') -- giá trị trả về= 53
SPACE 
Hàm này trả về khoảng trống trong câu lệnh sql
Cú pháp
SPACE ( integer)
Ví dụ:
SELECT ('SQL') + SPACE(0) + ('TUTORIALS')-- giá trị trả về= SQLTUTORIALS
SELECT ('SQL') + SPACE(1) + ('TUTORIALS')-- giá trị trả về = SQL TUTORIALS 
CHARINDEX
Trả về vị trí được tìm thấy của một chuỗi trong chuỗi cha
Cú pháp
CHARINDEX ( string1, string2 [ , start_location ] )
Ví dụ:
SELECT CHARINDEX('SQL', 'Well organized understand SQL tutorial')-- Value = 27
SELECT CHARINDEX('SQL', 'Well organized understand SQL tutorial', 20)-- Value = 27
SELECT CHARINDEX('SQL', 'Well organized understand SQL tutorial', 30)-- Value = 0 (bởi vì giá trị bắt đầu truyền vào từ ký tự 30 trở đi)
REPLACE
Hàm thay thế chuỗi 
Ví dụ:
Cú pháp
- REPLACE ( 'string1' , 'string2' , 'string3' )
SELECT REPLACE('All Function' , 'All', 'SQL')-- Value = SQL Function
UPPER, LOWER
Hàm chuyển đổi thành chữ hoa và chữ thường 
Ví dụ:
Cú pháp
- UPPER( 'string1')
- LOWER( 'string1')

SELECT UPPER('Khong con mua thu')-- Value = 'KHONG CON MUA THU'
SELECT LOWER('kHONG CON MUA THU')-- Value = 'khong con mua thu'

LEFT,RIGHT,SUBSTRING 
Hàm cắt chuỗi bên trái, phải và ở giữa 
Ví dụ:
Cú pháp
LEFT( 'string1', số kí tự)
- RIGHT( 'string1', số kí tự)
- SUBSTRING ( 'string1', vị trí, số kí tự)

SELECT LEFT('Khong con mua thu',5)-- Value = 'Khong'
SELECT RIGHT('kHONG CON MUA THU',3)-- Value = 'THU'
SELECT SUBSTRING ('kHONG CON MUA THU',6,3)-- Value = 'CON'

LTRIM, RTRIM 
Loại bỏ khoảng trắng bên trái, bên phải
Ví dụ:
Cú pháp
LTRIM( 'string1')
- RTRIM ( 'string1')

SELECT LTRIM(' Khong con mua thu')-- Value = 'Khong con mua thu'
SELECT RTRIM ('kHONG CON MUA THU ')-- Value = 'kHONG CON MUA THU'

LEN
Trả về số ký tự trong chuỗi
Ví dụ:
Cú pháp
LEN( 'string')
SELECT LEN('Khong con mua thu')-- Value = 17

REVERSE
Đảo chuối
Ví dụ:
Cú pháp
REVERSE( 'string')
SELECT REVERSE('Khong con mua thu')-- Value = 'uht aum noc gnohK'

STUFF 
Với cú pháp hàm STUFF bên dưới có kết quả trả về là một chuỗi mới sau khi đã hủy bỏ một số ký tự hiện có và thêm vào một chuỗi con khác tại vị trí vừa hủy bỏ
Ví dụ:
Cú pháp
STUFF ( 'string',vị trí, chiều dài, chuỗi con)
vị trí: là một số nguyên chỉ định vị trí bắt đầu hủy bỏ các ký tự bên trong chuỗi nguồn.
chiều dài: là một số nguyên chỉ định bao nhiêu ký tự sẽ bị hủy bỏ trong chuỗi nguồn đếm từ bên trái vị trí chỉ định.
SELECT STUFF ('123456789',4,3,'ABDCEF')-- Value = '123ABCDEF789'