1. Hàm Ascii
- -- 1. Ascii
- -- trả về mã ascii của ký tự
- select ascii('A')
- -- kết quả: 65
- -- 2. Char
- -- trả về ký tự của mã ASCII
- select char(65)
- -- kết quả: A
- -- 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. 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. 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. len()
- -- trả về số lượng ký tự hay độ dài của chuỗi
- select len('abcd')
- -- kết quả: 4
- -- 7. lower
- -- viết thường tất cả các ký tự
- select lower('aaBBcCdGG')
- -- kết quả: aabbccdgg
- -- 8. upper
- -- viết hoa tất cả các ký tự
- select upper('aaBBcCdGG')
- -- kết quả: AABBCCDGG
- -- 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. 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. 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. 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. 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. 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. reverse
- -- quay ngược chuỗi lại
- select reverse('abcdef')
- -- kết quả: fedcba
- -- 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. 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. 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. 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. 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. 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. 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. 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')
cho em hỏi là nếu muốn lấy những ký tự đầu của một chuỗi thì làm các nào vậy...
Trả lờiXóaví dụ như ta có chuỗi Hà Nội Mùa Thu, ta cần lấy những chữ là HNMT
Nhận xét này đã bị tác giả xóa.
Xóadeclare @s nvarchar(100)
Xóadeclare @re nvarchar(100)
set @s =N' Hà Nội Mùa Thu'
select @s
set @re=substring(@s,1,1)
while (charindex(' ', @s))<>0
begin
set @re= @re+ substring(@s,charindex(' ',@s)+1,1)
set @s = substring(@s, charindex(' ', @s)+1,len(@s))
end
select @re
Bạn ơi mình muốn thêm ký tự vào cuối chuỗi thì làm thế nào vậy? VD: 'aaaa' bây giờ thêm qq vào cuối thành 'aaaaqq'.
Trả lờiXóaCho minh hoi, có hàm nào detect tiếng việt trong 1 vĂn bản word tiếng nước ngoài ko?
Trả lờiXóaLàm sao trích đuôi của 1 file bằng vb.net
Trả lờiXóa