SQL Server QUOTENAME
Trong ngôn ngữ lập trình SQL Server, hàm QUOTENAME được sử dụng để thêm ký tự dấu ngoặc vuông xung quanh tên đối tượng. Điều này rất hữu ích khi bạn làm việc với các tên đối tượng (như bảng, cột, hoặc schema) có chứa ký tự đặc biệt hoặc khi tên đó trùng với từ khóa SQL.
Định nghĩa
Hàm QUOTENAME giúp đảm bảo rằng tên của các đối tượng trong SQL Server được định dạng chính xác, tránh các lỗi khi thực thi câu lệnh SQL. Cú pháp chính của hàm này là:
QUOTENAME ( 'name' [, 'quote_character' ] )
Trong đó:
- name: Tên của đối tượng mà bạn muốn định dạng. Tham số này là kiểu nvarchar.
- quote_character: Tùy chọn. Đặc trưng cho ký tự bao quanh tên. Mặc định là dấu ngoặc vuông ([ ]).
Cú pháp
QUOTENAME ('tên đối tượng' [, 'ký tự định dạng'])
Ví dụ sử dụng
Dưới đây là một số ví dụ minh họa cách sử dụng hàm QUOTENAME trong SQL Server:
Ví dụ 1: Sử dụng QUOTENAME với tên bảng có ký tự đặc biệt
DECLARE @TableName NVARCHAR(128); SET @TableName = 'My Table'; SELECT QUOTENAME(@TableName) AS FormattedTableName;
Trong ví dụ này, kết quả sẽ trả về: [My Table]
Ví dụ 2: Sử dụng QUOTENAME với ký tự định dạng
DECLARE @ColumnName NVARCHAR(128); SET @ColumnName = 'Column#1'; SELECT QUOTENAME(@ColumnName, '"') AS FormattedColumnName;
Kết quả của ví dụ này sẽ là: "Column#1" vì chúng ta đã chỉ định ký tự định dạng là dấu nháy kép.
Ví dụ 3: Lưu trữ tên đối tượng với từ khóa SQL
DECLARE @SchemaName NVARCHAR(128) = 'User'; SELECT QUOTENAME(@SchemaName) + '.' + QUOTENAME('SELECT') AS ValidSQLIdentifier;
Trong ví dụ này, chúng ta tạo ra một tên hợp lệ cho đối tượng trong SQL Server mà không gặp phải xung đột với từ khóa "SELECT". Kết quả sẽ là: [User].[SELECT]
Kết luận
Hàm QUOTENAME là một công cụ mạnh mẽ trong SQL Server, giúp bảo vệ các tên đối tượng khỏi các lỗi ngữ pháp và xung đột với từ khóa. Việc sử dụng hàm này sẽ đảm bảo rằng các truy vấn SQL của bạn sẽ chạy hiệu quả và chính xác hơn.