Hàm xử lý cắt chuỗi từ cuối chuỗi trong sql

Tham số tùy chọn. Là số ký tự được trả về (chiều dài của chuỗi con). Nếu tham số này bị bỏ qua thì hàm SUBSTRING() sẽ trả về toàn bộ ký tự được tính bắt đầu từ vị trí “start”.

Chú ý: với SQL Server thì đây là tham số bắt buộc.

Xét bảng dữ liệu “Persons”:

ID

LastName

FirstName

Address

City

1

Phan

Hai

13 Hung Vuong

Lang Son

2

Luong

Bong

52 Thanh Xuan

Ha Noi

3

Phan

Quan

34 Van Vi

Lang Son

Giờ nếu ta muốn lấy ký tự đầu tiên của các chuỗi trong cột “FirstName”, ta có thể dùng lệnh sau:

SELECT LastName,SUBSTR(FirstName, 1, 1) AS FirstCharacter FROM Persons

Kết quả trả về sẽ như sau:

LastName

FirstCharacter

Phan

H

Luong

B

Phan

Q

Trong ví dụ sau bạn sẽ học cách để lấy được hai ký tự cuối cùng của các chuỗi trong cột “FirstName”. Cú pháp lệnh cần dùng là:

SELECT LastName,SUBSTR(FirstName, -2, 2) AS LastCharacters FROM Persons

Kết quả thu được sẽ như sau:

LastName

LastCharacters

Phan

ai

Luong

ng

Phan

an

Chú ý: Trong câu lệnh ở trên “-2” có nghĩa là vị trí thứ hai tính từ vị trí cuối của chuỗi.

Hàm xử lý chuỗi - xử lý chuỗi trong sql - xử lý chuỗi sql - xử lý chuỗi sql các hàm xử lý chuỗi trong sql server 2012, 2015, 2018, 2019,.. mới nhất, xử lý chuỗi thường xuyên gặp phải trong lúc lập trình website asp.net, phần mềm c# cần nắm rõ các hàm xử lý chuỗi này để xử lý nhanh và code c# gọn hơn

CÁC HÀM XỬ LÝ CHUỖI TRONG SQL 2005 VÀ 2008 ---> 2019
Hàm xử lý cắt chuỗi từ cuối chuỗi trong sql

1.hàm Ascii
  • Mã:Ascii
  • trả về mã ascii của ký tự

Mã:

 select ascii('I') 

  • kết quả: 73 (số 73 là bảng mã ASCII của chữ I)
  • Để hiểu thêm và bảng mã ascii của các con số ký tự bạn đọc bài sau: Bảng mã ASCII
2.hàm Char
  • Mã:Char
  • trả về ký tự của mã ASCII

Mã:

select char(66) 

  • kết quả: B (mã ASCII 66 là của ký tự B)
3.hàm charindex
  • Mã:charindex
  • trả về vị trí xuất hiện của 1 chuỗi con trong 1 chuỗi bắt đầu từ 1 vị trí xác định

Mã:

select charindex('COM','ITSEOVN.COM') 

  • Giải thích: tìm ví trí xuất hiện từ COM trong chuỗi ITSEOVN.COM

Mã:

select charindex('COM','ITSEOVN.COM',3) 

  • Giải thích: từ vị trí số 3 của chuỗi 'ITSEOVN.COM' tức là từ ký tự 'S' trở đi tìm vị trí xuất hiện của chuỗi 'COM'
  • kết quả là chuỗi 'COM' xuất hiện ở vị trí ký tự thứ 9 của chuỗi 'ITSEOVN.COM'
4.hàm Left
  • Mã:left
  • lấy ra n ký tự đầu tiên của chuỗi.

Mã:

select left('ITSEOVN.COM',5) 

  • ví dụ: lấy ra 5 ký tự đầu tiên của chuỗi 'ITSEOVN.COM'
  • kết quả: 'ITSEOVN'
5. hàm Right
  • Mã:right
  • lấy ra n ký tự cuối cùng của chuỗi
  • ví dụ: lấy ra 3 ký tự cuối cùng của chuỗi 'ITSEOVN.COM'

Mã:

select right('ITSEOVN.COM',3) 

  • kết quả: 'COM'
6. hàm Len
  • Mã:len()
  • trả về số lượng ký tự hay độ dài của chuỗi

Mã:

select len('ITSEOVN') 

  • kết quả: 7
7. hàm Lower
  • Mã:lower
  • viết thường tất cả các ký tự

Mã:

select lower('Diễn Đàn SEO Việt Nam ITSEOVN') 

  • kết quả: diễn đàn seo việt nam itseovn
8. hàm Upper
  • Mã:upper
  • viết hoa tất cả các ký tự

Mã:

select upper('Diễn Đàn SEO Việt Nam ITSEOVN') 

  • kết quả: DIỄN ĐÀN SEO VIỆT NAM ITSEOVN
9. hàm LTrim
  • Mã:Ltrim
  • Xóa tất cả các ký tự rỗng, khoảng trắng ở ĐẦU chuỗi.

Mã:

select Ltrim(' ITSEOVN ') 

  • kết quả: 'ITSEOVN '
  • Lưu ý: chỉ khoảng trắng ở đầu chuỗi, chuỗi chuỗi vẫn còn khoẳng trắng
10. hàm RTrim
  • Mã: Rtrim
  • Xóa tất cả các ký tự rỗng, khoảng trắng ở CUỐI chuỗi.

Mã:

select char(66) 
0

  • kết quả: ' ITSEOVN'
11. hàm PatIndex
  • Mã: patindex
  • trả về vị trí xuất hiện của 1 mẫu trong 1 chuỗi SELECT PATINDEX('%itseovn%', 'dien dan itseovn viet nam')
  • kết quả: 10
  • note: sử dụng ký tự _ để thay thế cho 1 ký tự bất kỳ

Mã:

select char(66) 
1

  • kết quả vẫn là: 10
12. hàm Quote
  • Mã:quotename
  • trích dẫn

Mã:

select char(66) 
2

  • kết quả: [Hoc xu cac ham xu ly chuoi tai ITSEOVN]
  • có thể đổi ký tự trích dẫn khác như :ngoặc đơn ( hay dấu nháy '

Mã:

select char(66) 
3

  • kết quả: (Hoc xu cac ham xu ly chuoi tai ITSEOVN)
13. hàm Replace
  • Mã:replace
  • thay thế tất cả các chuỗi con nào đó trong 1 chuỗi thành 1 chuỗi con khác

Mã:

select char(66) 
4

  • Tất cả các từ 'cntt' trong chuỗi sẽ được thay bằng từ 'seo'
  • Kết quả: dien dan seo viet nam itseovn
Replace kiểu dữ liệu Ntext thì bạn làm như sau:
  • cast(replace(cast(myNtext as nvarchar(max)),'find','text_replace') as ntext)
Ví dụ:

Mã:

select char(66) 
5

14. hàm replicate
  • Mã:replicate
  • nhân 1 chuỗi lên nhiều lần

Mã:

select char(66) 
6

  • chuỗi 'sql' được lặp lại 5 lần.
  • kết quả: sqlsqlsqlsqlsql
15. hàm Reverse
  • Mã: reverse
  • quay ngược chuỗi lại

Mã:

select char(66) 
7

  • kết quả: nvoesti
16. hàm Space
  • Mã:space
  • trả về 1 chuỗi gồm n ký tự khoảng trắng.

Mã:

select char(66) 
8

  • kết quả: 'itseovn diendan'
  • chuỗi itseovn + 4 ký tự khoảng trắng + chuỗi diendan
17. hàm Str
  • Mã:Str
  • chuyển một số thành một chuỗi. Hàm này dùng để chuyển số thành chuỗi để in dữ liệu ra ngoài đúng kiểu dữ liệu và dễ nhìn hơn cho khách hàng, cũng như khi bạn lập trình web dữ liệu nhìn ra sẽ hợp lý và gọn hơn, nhưng hàm này thường ít được sử dụng.

Mã:

select char(66) 
9

  • giải thích: chuyển số 6.333333 thành chuỗi có độ dài là 20 ký tự, chỉ lấy 2 ký tự thập phân sau dấu '.'
  • nếu số trên khi chuyển thành chuỗi mà chưa đủ 20 ký tự thì sẽ tự thêm các khoảng trắng vào phía trước sao cho đủ 20 ký tự.
  • kết quả: ' 6.33'
  • nếu số lượng chữ số phần nguyên của số mà nhiều hơn độ dài chuỗi trả về thì sẽ trả về các giá trị là ký tự '*'

Mã:

select charindex('COM','ITSEOVN.COM') 
0

  • kết quả trả về là 3 ký tự '*' : '***' vì độ dài chuỗi trả về là 3 trong khi số lượng chữ số phần nguyên là 4.
18. hàm Stuff
  • Mã:stuff
  • hàm này sẽ thay thế n ký tự bắt đầu từ 1 vị trí xác định bằng 1 chuỗi muốn thay vào

Mã:

select charindex('COM','ITSEOVN.COM') 
1

  • giải thích: từ vị trí 4 tức là ký tự 'd' lấy ra 3 ký tự 'dan' và thay thế bằng 'cntt'
  • kết quả: diencnttseo
19. hàm Substring
  • Mã:substring
  • cắt ra 1 chuỗi nhỏ từ chuỗi ban đầu

Mã:

select charindex('COM','ITSEOVN.COM') 
2

  • giải thích: từ vị trí thứ 2 lấy ra 7 ký tự liên tiếp
  • kết quả: lychuoi
20. hàm Unicode
  • Mã:unicode
  • trả về giá trị unicode của ký tự đầu tiên của chuỗi

Mã:

select charindex('COM','ITSEOVN.COM') 
3

  • kết quả: 193
21. hàm NChar
  • Mã:Nchar
  • trả về ký tự unicode của mã unicode

Mã:

select charindex('COM','ITSEOVN.COM') 
4

  • kết quả cả 2 câu truy vấn đề là : Á
22. hàm Soundex
  • Mã:soundex
  • Soundex là một thuật toán ngữ âm để liệt kê các từ theo âm sắc, theo cách phát âm của tiếng Anh. Mục đích là mã hóa những từ có cùng cách phát âm qua những đặc trưng giống nhau, từ đó người ta có thể tìm được một từ nào đó dù có sai sót nhỏ trong chính tả từ đó

Mã:

select charindex('COM','ITSEOVN.COM') 
5

  • kết quả là 1 chuỗi gồm 4 ký tự: B636. Ký tự đầu tiên của kết quả cũng chính là ký tự đầu tiên của chuỗi ban đầu
23. hàm Difference
  • Mã:difference
  • hàm này trả về khoẳng chênh lệch giữa 2 ký tự, chuỗi, số nguyên như cú pháp

Mã:

select charindex('COM','ITSEOVN.COM') 
6

  • kết quả cả 4