NEWS

[DATABASE] Hướng dẫn sử dụng Hàm ASCII trong sqlserver

[DATABASE] Hướng dẫn sử dụng Hàm ASCII trong sqlserver
Đăng bởi: Thảo Meo - Lượt xem: 2140 10:07:05, 05/07/2022C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẻ hướng dẫn các bạn sử dụng hàm ASCII trong SQL SERVER.

[DATABASE] How to using Function ASCII in SQL

ascii_sql

Hàm ASCII trong sql, sẻ trả về cho chúng ta giá trị mã ASCII đầu tiên trong một chuỗi String.

Cú pháp:

ASCII(character)

Ví dụ: chúng ta sẽ chạy lệnh dưới đây để xem mã ASCII của các ký tự

SELECT ASCII(1)
SELECT ASCII(2)  
SELECT ASCII('3') 
SELECT ASCII('A') 
SELECT ASCII('B') 
SELECT ASCII('C')

Kết quả:

49
50
51
65
66
67

Hàm show danh sách tất cả các mã ASCII trong một chuỗi String, các bạn tạo hàm function sau trong sqlserver

CREATE FUNCTION showASCII(@string VARCHAR(100))
returns varchar(100)
AS
BEGIN
   DECLARE @length smallint = LEN(@string)
   DECLARE @position smallint = 0
   DECLARE @codes varchar(max) = ''
 
   WHILE @length >= @position
   BEGIN
      SELECT @codes = @codes + CONCAT(ASCII(SUBSTRING(@string,@position,1)),',')
      SELECT @position = @position + 1
   END
 
   SELECT @codes = SUBSTRING(@codes,2,LEN(@codes)-2)
   RETURN @codes
END

Sau khi, tạo hàm xong các bạn test như hình bên dưới:

ascii_function_sql

Các bạn có thể sử dụng Script dưới đây để hiển thị danh sách các mã ASCII:

DECLARE @counter INT = 0

CREATE TABLE #AsciiValues ([char] nchar(1), [value] int)

WHILE (@counter <= 255 )
BEGIN
   BEGIN TRY
      INSERT INTO #AsciiValues
      SELECT CHAR(@counter), @counter 
      SET @counter = @counter + 1
   END TRY
   BEGIN CATCH;
      SET @counter = @counter + 1
      IF @counter > 255
      BEGIN
         BREAK
      END
   END CATCH
END

SELECT * FROM #AsciiValues

DROP TABLE #AsciiValues

Kết Quả:

result_ascii

Thanks for watching!

Tham khảo mssqltips.com

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[DATABASE] Hướng dẫn sử dụng Hàm ASCII trong sqlserver
Đăng bởi: Thảo Meo - Lượt xem: 2140 10:07:05, 05/07/2022C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.