Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana Fungsi SPACE() Bekerja di SQL Server (T-SQL)

Di SQL Server, Anda dapat menggunakan T-SQL SPACE() berfungsi untuk menghasilkan sejumlah ruang tertentu.

Ini berguna untuk menambahkan spasi dalam string, misalnya, saat menggabungkan dua string atau lebih.

Cara kerjanya adalah, Anda memberikan jumlah spasi yang Anda butuhkan, dan itu akan mengembalikan string dengan jumlah spasi yang persis sama.

Sintaks

Sintaksnya seperti ini:

SPACE ( integer_expression )

Dimana integer_expression adalah bilangan bulat positif yang menunjukkan jumlah spasi. Jika ini adalah nilai negatif, NULL dikembalikan.

Contoh 1 – Penggunaan Dasar

Berikut ini contoh cara kerjanya:

SELECT SPACE(40) AS Result;

Hasil:

+------------------------------------------+
| Result                                   |
|------------------------------------------|
|                                          |
+------------------------------------------+

Jika tidak jelas, itu menghasilkan 40 spasi.

Contoh 2 – Penggabungan dengan Spasi

Contoh ini mungkin menunjukkan efeknya sedikit lebih baik.

SELECT 'Keep' + SPACE(10) + 'away!' AS Result;

Hasil:

+---------------------+
| Result              |
|---------------------|
| Keep          away! |
+---------------------+

Contoh 3 – Nilai Bilangan Bulat Negatif

Argumen harus bernilai positif. Jika nilainya negatif, hasilnya adalah NULL :

SELECT SPACE(-10) AS Result;

Hasil:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Contoh 4 – Contoh Basis Data

Berikut adalah contoh sederhana menggunakan SPACE() untuk menyisipkan spasi di antara dua kolom database saat dikembalikan dari database:

USE Music;
SELECT TOP(7)
  ArtistName + SPACE(5) + AlbumName AS 'Artist and Album'
FROM Artists ar
INNER JOIN Albums al
  ON ar.ArtistId = al.ArtistId
INNER JOIN Genres g
  ON al.GenreId = g.GenreId
WHERE g.Genre = 'Rock';

Hasil:

+-------------------------------------------+
| Artist and Album                          |
|-------------------------------------------|
| Iron Maiden     Powerslave                |
| AC/DC     Powerage                        |
| Devin Townsend     Ziltoid the Omniscient |
| Devin Townsend     Casualties of Cool     |
| Devin Townsend     Epicloud               |
| Iron Maiden     Somewhere in Time         |
| Iron Maiden     Piece of Mind             |
+-------------------------------------------+

Bagaimana dengan 1 atau 2 Spasi?

Ini adalah fungsi yang bagus untuk menambahkan banyak spasi, tetapi juga dapat meningkatkan keterbacaan kode saat menyertakan sejumlah kecil spasi – terutama jika kode berisi banyak contoh penambahan spasi.

Saat menggunakan SPACE() Anda dapat melihat berapa banyak spasi dalam sekejap, tanpa harus menghitungnya.

Misalnya, lihat apakah Anda dapat memberi tahu berapa banyak spasi berikut ini:

SELECT 'Keep' + '  ' + 'away!';

Reaksi pertama Anda mungkin berupa tebakan cepat (misalnya, “2 atau 3”), sebelum melihat lebih dekat untuk memeriksanya. Untuk memastikan 100%, Anda mungkin harus mengarahkan kursor ke spasi untuk menghitung jumlah spasi.

Sekarang lihat kode berikut:

SELECT 'Keep' + SPACE(2) + 'away!';

Tidak perlu menebak. Anda dapat melihat 2 ditulis langsung ke dalam kode.

Karena itu, nilainya bisa berada di dalam variabel, sehingga kode Anda mungkin terlihat lebih seperti ini:

SELECT 'Keep' + SPACE(@space_size) + 'away!';

Yang jelas, tidak memberikan petunjuk tentang berapa banyak ruang yang ada (tanpa harus mencarinya). Namun, jika Anda sudah mengetahui nilai @space_size Anda siap berangkat.

Contoh 5 – Ukuran Ruang Variabel

Berikut adalah contoh yang menunjukkan poin sebelumnya.

Di sini, jumlah spasi didefinisikan dalam variabel. Dalam hal ini, mudah untuk melihat nilai variabel, seperti yang didefinisikan di baris tepat sebelum SPACE() fungsi (jelas, ini tidak selalu terjadi):

DECLARE @space_size int
SET @space_size = 2
SELECT 'Keep' + SPACE(@space_size) + 'away!' AS Result
GO

Hasil:

+-------------+
| Result      |
|-------------|
| Keep  away! |
+-------------+

Unicode atau Lebih dari 8000 Spasi?

Microsoft menyatakan bahwa, untuk memasukkan spasi dalam data Unicode, atau untuk mengembalikan lebih dari 8000 spasi karakter, Anda harus menggunakan REPLICATE bukannya SPACE .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah format Tanggal menjadi format DD/MMM/YYYY di SQL Server

  2. Operator agregat perkalian dalam SQL

  3. Sisipkan massal dengan kualifikasi teks di SQL Server

  4. Cara Mendapatkan nilai Maks dan Min dari Tabel dengan menggunakan Fungsi Agregat - Tutorial SQL Server / TSQL Bagian 129

  5. Apa metode terbaik untuk meneruskan parameter ke SQLCommand?