CÁCH SỬ DỤNG HÀM CHAR TRONG SQL SERVER
Trong bài viết này chúng ta sẽ tìm hiểu cách sử dụng hàm CHAR trong SQL Server để chuyển đổi giá trị mã ASCII thành ký tự.
Mô tả hàm CHAR
Hàm CHAR trong SQL Server được sử dụng để chuyển đổi một biểu thức số nguyên thành ký tự tương ứng theo bảng mã ASCII.
Hàm CHAR được sử dụng ngược với hàm ASCII.
Cú pháp hàm CHAR
Để chạy hàm CHAR trong SQL Server, ta sử dụng cú pháp như sau:
CHAR ( integer_expression )
Tham số
integer_expression
Một số nguyên có giá trị từ 0 tới 255. Hàm CHAR trả giá trị a NULL cho giá trị nằm ngoài vùng phạm vị này.
Kiểu dữ liệu trả về
char(1)
Lưu ý
Sử dụng CHAR để chèn ký tự điều khiển vào chuỗi ký tự. Bảng này hiển thị một số ký tự điều khiển thường được sử dụng
Remarks | |
Control character | Value |
Tab | char(9) |
Line feed | char(10) |
Carriage return | char(13) |
Ví dụ áp dụng hàm CHAR
Ví dụ 1:
Trong ví dụ sau chúng ta sẽ in giá trị ASCII và ký tự tương ứng cho mỗi ký tự trong chuỗi ký tự hoctinonline.edu.vn
SET TEXTSIZE 0;
— Create variables for the character string and for the current
— position in the string.
DECLARE @position INT, @string CHAR(19);
— Initialize the current position and the string variables.
SET @position = 1;
SET @string = ‘hoctinonline.edu.vn’;
WHILE @position <= DATALENGTH(@string)
BEGIN
SELECT ASCII(SUBSTRING(@string, @position, 1)),
CHAR(ASCII(SUBSTRING(@string, @position, 1)))
SET @position = @position + 1
END;
GO
———– –
78 N
———– –
101 e
———– –
119 w
———– –
32
———– –
77 M
———– –
111 o
———– –
111 o
———– –
110 n
Ví dụ 2: Sử dụng CHAR để chèn ký tự điều khiển (control character)
Ví dụ dưới đây sử dụng CHAR(13) để in tên và địa chỉ email của 1 nhân viên thành các dòng riêng biệt, khi kết quả câu lệnh trả về dạng text. Ví dụ sử dụng AdventureWorks2012 database.
SQL
SELECT p.FirstName + ‘ ‘ + p.LastName, + CHAR(13) + pe.EmailAddress FROM Person.Person p INNER JOIN Person.EmailAddress pe ON p.BusinessEntityID = pe.BusinessEntityID AND p.BusinessEntityID = 1; GO
Kết quả như dưới đây:
Ken Sanchezken0@adventure-works.com
Ví dụ 3: Sử dụng ASCII và CHAR để in giá trị ASCII từ một chuỗi ký tự.
Ví dụ này giả định một bộ ký tự ASCII. Nó trả về giá trị ký tự cho 6 giá trị số ký tự ASCII khác nhau.
SQL
SELECT CHAR(65) AS [65], CHAR(66) AS [66], CHAR(97) AS [97], CHAR(98) AS [98], CHAR(49) AS [49], CHAR(50) AS [50];
Here is the result set.
65 66 97 98 49 50 —- —- —- —- —- —- A B a b 1 2
Bài viết này là một phần trong Series “Học SQL xử lý, phân tích dữ liệu cùng chuyên gia MasterMOS”. Bạn hãy vào click vào link để xem toàn bộ Series bài viết, dễ dàng làm chủ SQL để xử lý, phân tích dữ liệu lớn cùng chúng tôi nhé.