Di SQL Server, T-SQL REPLICATE()
fungsi mengulangi nilai string beberapa kali dan mengembalikan hasilnya.
Fungsi menerima dua argumen; string input, dan berapa kali harus diulang.
Sintaks
Sintaksnya seperti ini:
REPLICATE ( string_expression ,integer_expression )
Dimana string_expression adalah string masukan. Ini dapat berupa data karakter atau biner.
Dan integer_expression adalah bilangan bulat yang menentukan berapa kali mengulang string input. Ini bisa tipe integer apa saja, termasuk besar .
Perhatikan bahwa jika argumen pertama tidak bertipe varchar(max) atau nvarchar(maks) , fungsi memotong nilai kembalian pada 8.000 byte. Untuk mengembalikan nilai yang lebih besar dari 8.000 byte, argumen pertama harus secara eksplisit dilemparkan ke tipe data bernilai besar yang sesuai.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh cara kerjanya:
SELECT REPLICATE('Dog', 3) AS Result;
Hasil:
+-----------+ | Result | |-----------| | DogDogDog | +-----------+
Contoh 2 – Tambahkan Spasi
Kita juga dapat menambahkan spasi pada contoh sebelumnya:
SELECT REPLICATE('Dog ', 3) AS Result;
Hasil:
+--------------+ | Result | |--------------| | Dog Dog Dog | +--------------+
Meskipun perhatikan bahwa ini juga akan menambahkan spasi di akhir string.
Kita bisa menggunakan TRIM()
fungsi untuk mengatasi hal ini:
SELECT TRIM(REPLICATE('Dog ', 3)) AS Result;
Hasil:
+-------------+ | Result | |-------------| | Dog Dog Dog | +-------------+
Mungkin contoh berikut akan membuat ini lebih jelas:
SELECT REPLICATE('Dog ', 3) + '.' AS 'Untrimmed', TRIM(REPLICATE('Dog ', 3)) + '.' AS 'Trimmed';
Hasil:
+---------------+--------------+ | Untrimmed | Trimmed | |---------------+--------------| | Dog Dog Dog . | Dog Dog Dog. | +---------------+--------------+
Contoh 3 – Jumlah Replikasi Tidak Valid
Jika argumen kedua adalah nilai negatif, NULL
dikembalikan:
SELECT REPLICATE('Dog', -3) AS Result;
Hasil:
+----------+ | Result | |----------| | NULL | +----------+
Contoh 4 – Contoh Basis Data
Berikut ini contoh replikasi data dari database:
SELECT TOP(3) TRIM(REPLICATE(ArtistName + ' ', 3)) AS Result FROM Artists;
Hasil:
+----------------------------------------------------+ | Result | |----------------------------------------------------| | Iron Maiden Iron Maiden Iron Maiden | | AC/DC AC/DC AC/DC | | Allan Holdsworth Allan Holdsworth Allan Holdsworth | +----------------------------------------------------+