- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
Tổng hợp các hàm xử lý chuỗi trong MS SQL Server
Mình làm một bài viết về danh sách các hàm hệ thống xử lý chuỗi trong SQL. Danh sách các hàm xử lý này mọi người có thể tìm trên MSDN hoặc trong phần System Functions trong mỗi database SQL.
1. Hàm Ascii
-- 1. Ascii
-- trả về mã ascii của ký tự
select ascii('A')
-- kết quả: 65
2. Hàm Char
-- 2. Char
-- trả về ký tự của mã ASCII
select char(65)
-- kết quả: A
3. Hàm charindex
-- 3. 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
select charindex('abc','cabcaaaa',2)
-- giải thích: từ vị trí số 2 của chuỗi 'cabcaaaa' tức là từ ký tự 'a' trở đi tìm vị trí xuất hiện của chuỗi 'abc'
-- kết quả là chuỗi 'abc' xuất hiện ở vị trí ký tự thứ 2 của chuỗi 'cabcaaaa'
4. Hàm Left
-- 4. left
-- lấy ra n ký tự đầu tiên của chuỗi.
select left('123456',3)
-- ví dụ: lấy ra 3 ký tự đầu tiên của chuỗi '123456'
-- kết quả: '123'
5. Hàm Right
-- 5. 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 '123456'
select right('123456',3)
-- kết quả: '456'
6. Hàm Len
-- 6. len()
-- trả về số lượng ký tự hay độ dài của chuỗi
select len('abcd')
-- kết quả: 4
7. Hàm Lower
-- 7. lower
-- viết thường tất cả các ký tự
select lower('aaBBcCdGG')
-- kết quả: aabbccdgg
8. Hàm Upper
-- 8. upper
-- viết hoa tất cả các ký tự
select upper('aaBBcCdGG')
-- kết quả: AABBCCDGG
9. Hàm LTrim
-- 9. Ltrim
-- Xóa tất cả các ký tự rỗng, khoảng trắng ở ĐẦU chuỗi.
select Ltrim(' abc ')
-- kết quả: 'abc
'
10. Hàm RTrim
-- 10. Rtrim
-- Xóa tất cả các ký tự rỗng, khoảng trắng ở CUỐI chuỗi.
select Rtrim(' abc ')
-- kết quả: ' abc'
11. Hàm PatIndex
-- 11. patindex
-- trả về vị trí xuất hiện của 1 mẫu trong 1 chuỗi
SELECT PATINDEX('%ensure%', 'please ensure the door is locked');
-- kết quả: 8
-- note: sử dụng ký tự _ để thay thế cho 1 ký tự bất kỳ
SELECT PATINDEX('%en_ure%', 'please ensure the door is locked');
-- kết quả vẫn là: 8
12. Hàm Quote
-- 12. quotename
-- trích dẫn
select quotename('hanh trang lap trinh dot com')
-- kết quả: [hanh trang lap trinh dot com]
-- có thể đổi ký tự trích dẫn khác như :ngoặc đơn ( hay dấu nháy '
select quotename('hanh trang lap trinh dot com',')')
-- kết quả: (hanh trang lap trinh dot com)
13. Hàm Replace
-- 13. 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
select replace('hanh trang lap trinh dot com accom','com','net')
-- Tất cả các từ 'com' trong chuỗi sẽ được thay bằng từ 'net'
-- Kết quả: hanh trang lap trinh dot net acnet
14. Hàm replicate
-- 14. replicate
-- nhân 1 chuỗi lên nhiều lần
select replicate('acb',5)
-- chuỗi 'acb' được lặp lại 5 lần.
-- kết quả: acbacbacbacbacb
15. Hàm Reverse
-- 15. reverse
-- quay ngược chuỗi lại
select reverse('abcdef')
-- kết quả: fedcba
16. Hàm Space
-- 16. space
-- trả về 1 chuỗi gồm n ký tự khoảng trắng.
select 'a' +space(54) +'b'
-- kết quả: 'a b'
-- ký tự a + 54 ký tự khoảng trắng + ký tự b
17. Hàm Str
-- 17. Str
-- chuyển một số thành một chuỗi. Hàm này rắc rối, mình chưa biết ích lợi để làm gì nữa.
select str(5.333333,20,2)
-- giải thích: chuyển số 5.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ả: ' 5.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ự '*'
select str(5555.333333,3,2)
-- 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
-- 18. 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
SELECT STUFF('abcdef', 2, 3, 'ijklmn');
-- giải thích: từ vị trí 2 tức là ký tự 'b' lấy ra 3 ký tự -> 'bcd' và thay thế bằng 'ijklmn'
-- kết quả: aijklmnef
19. Hàm Substring
-- 19. substring
-- cắt ra 1 chuỗi nhỏ từ chuỗi ban đầu
select substring('abcdefgh',2,5)
-- giải thích: từ vị trí thứ 2 lấy ra 5 ký tự liên tiếp
-- kết quả: bcdef
20. Hàm Unicode
-- 20. unicode
-- trả về giá trị unicode của ký tự đầu tiên của chuỗi
select unicode(N'Áac')
-- kết quả: 193
21. Hàm NChar
-- 21. Nchar
-- trả về ký tự unicode của mã unicode
select Nchar( unicode(N'Áac'))
select Nchar( 193)
-- kết quả cả 2 câu truy vấn đề là : Á
22. Hàm Soundex
-- 22. 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ừ đó
select soundex('Brothers')
-- 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
-- 23. difference
-- hàm trả về số lượng ký tự giống nhau của 2 chuỗi sau khi đã mã hóa soundex. Giá trị kết quả nằm trong khoảng từ 0 đến 4
select difference('Brothers','Brothers')
Nguồn sưu tầm.