Trong SQL Server, T-SQL CHAR()
hàm chuyển đổi một int Mã ASCII thành một giá trị ký tự. Nói cách khác, bạn chuyển vào một số nguyên và hàm sẽ diễn giải nó dưới dạng giá trị mã cho một ký tự chuỗi và trả về ký tự chuỗi tương ứng.
Cú pháp
Cú pháp như sau:
CHAR ( integer_expression )
Trong đó integer_expression
là một số nguyên từ 0 đến 255.
Nếu bạn chỉ định một số nguyên bên ngoài phạm vi này, kết quả là NULL
. Điều này cũng đúng nếu bạn cung cấp một số nguyên chỉ biểu thị byte đầu tiên của một ký tự byte kép.
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là một ví dụ để chứng minh cách sử dụng cơ bản:
SELECT CHAR(67) AS 'Result';
Kết quả:
+----------+ | Result | |----------| | C | +----------+
Vì vậy, nếu chúng ta thay đổi số nguyên, chúng ta sẽ nhận được một ký tự khác:
SELECT CHAR(255) AS 'Result';
Kết quả:
+----------+ | Result | |----------| | ÿ | +----------+
Ví dụ 2 - Nhiều số nguyên
Hàm này không hỗ trợ nhiều số nguyên làm đối số. Nếu bạn cung cấp nhiều số nguyên, bạn sẽ gặp lỗi.
Đây là một ví dụ:
SELECT CHAR(67, 255) AS 'Result';
Kết quả:
The char function requires 1 argument(s).
Lưu ý rằng điều này trái ngược với CHAR()
của MySQL (cho phép bạn cung cấp nhiều số nguyên).
Ví dụ 3 - Số nguyên ngoài phạm vi
Hàm này cũng không hỗ trợ các số nguyên nằm ngoài phạm vi từ 1 đến 255. Nếu đối số của bạn nằm ngoài phạm vi này, kết quả là NULL
.
Đây là một ví dụ:
SELECT CHAR(256) AS 'Result';
Kết quả:
+----------+ | Result | |----------| | NULL | +----------+
Điều này một lần nữa trái ngược với CHAR()
của MySQL hàm chấp nhận các số nguyên lớn hơn 255 (trong trường hợp đó, chúng được tự động chuyển đổi thành nhiều byte kết quả).
Ví dụ 4 - Chèn các ký tự điều khiển
Dưới đây là một ví dụ về việc sử dụng CHAR(13)
để in các ký tự tiếp theo trên một dòng mới:
SELECT 'Homer' + CHAR(13) + '[email protected]' AS 'Name/Email';
Kết quả:
+--------------+ | Name/Email | |--------------| | Homer [email protected] | +--------------+
Đây là giao diện nếu chúng tôi xóa CHAR(13)
:
SELECT 'Homer' AS 'Name', '[email protected]' AS 'Email';
Kết quả:
+--------+-----------------------+ | Name | Email | |--------+-----------------------| | Homer | [email protected] | +--------+-----------------------+