Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

3 cách trả về một chuỗi nhiều không gian trong SQL Server

Khi làm việc với cơ sở dữ liệu và dữ liệu được liên kết, đôi khi bạn cần chèn một khoảng trắng khi nối hai chuỗi với nhau hoặc đôi khi bạn cần thay thế một ký tự bằng một khoảng trắng.

Và sau đó đôi khi bạn cần phải chèn nhiều khoảng trắng. Dưới đây là 3 cách để trả về một chuỗi nhiều khoảng trắng trong SQL Server bằng T-SQL.

Tùy chọn 1:Nhập tất cả các Dấu cách

Cách rõ ràng nhất là chỉ cần gõ ra từng khoảng trống bạn cần. Như thế này:

SELECT 'Homer' + '            ' + 'Satriani';

Kết quả:

-------------------------
Homer            Satriani

Trong ví dụ này, tôi thêm 12 dấu cách vào giữa hai chuỗi khác. Phương pháp này thường hoàn hảo khi bạn chỉ cần chèn một hoặc hai khoảng trắng. Nhưng một khi bạn cần thêm say, một tá hoặc nhiều hơn, thì việc sử dụng SPACE() có thể dễ dàng hơn chức năng.

Tùy chọn 2:Hàm SPACE ()

SPACE() hàm được xây dựng đặc biệt cho mục đích này - để trả về một chuỗi các khoảng trắng lặp lại. Chỉ cần nhập hàm và cung cấp đối số chỉ định số lượng khoảng trắng là bắt buộc.

Vì vậy, chúng ta có thể chuyển đổi ví dụ trước thành sau:

SELECT 'Homer' + SPACE(12) + 'Satriani';

Kết quả:

-------------------------
Homer            Satriani

Tùy chọn 3:Hàm REPLICATE ()

Nếu bạn cần chèn một số lượng lớn khoảng trắng (8000 trở lên), thì bạn nên sử dụng REPLICATE() hàm số. Hàm này thực sự sao chép bất kỳ ký tự nào - không chỉ dấu cách.

Vì vậy, chúng ta có thể thay đổi các ví dụ trước thành sau:

SELECT 'Homer' + REPLICATE(' ', 12) + 'Satriani';

Kết quả:

-------------------------
Homer            Satriani

Bạn cũng có thể sử dụng CHAR() hàm để nêu rõ ký tự sẽ sử dụng. Ví dụ:CHAR(32) cho một khoảng trắng hoặc CHAR(160) cho một không gian không bị phá vỡ:

SELECT 'Homer' + REPLICATE(char(160), 12) + 'Satriani';

Kết quả:

-------------------------
Homer            Satriani

Thay thế một không gian bằng nhiều không gian

Vì vậy, chúng tôi có thể sử dụng bất kỳ phương pháp nào ở trên trong REPLACE() chức năng thay thế một dấu cách bằng nhiều dấu cách.

Đây là một ví dụ sử dụng SPACE() chức năng:

SELECT REPLACE('Homer Satriani', ' ', SPACE(12));

Kết quả:

-------------------------
Homer            Satriani


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách truy xuất tên trường từ bảng tạm thời (SQL Server 2008)

  2. Chọn bộ xử lý cho SQL Server 2014 - Phần 1

  3. Cách tốt để cắt tất cả các ký tự khoảng trắng khỏi một chuỗi trong T-SQL mà không có UDF và không có CLR là gì?

  4. Chuyển đổi đối tượng DateTime của SQL Server thành BIGINT (.Net tick)

  5. SQL Server có thể gửi một yêu cầu web không?