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

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

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 |
+----------------------------------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan SQL Server Xml dengan beberapa ruang nama

  2. Tidak dapat mengecilkan basis data 'hanya baca' | Kecilkan Log Transaksi Saat Menggunakan Grup Ketersediaan AlwaysOn

  3. Cara Menginstal SQL Server di Mac

  4. Kembalikan Semua Kunci Asing &PERIKSA Batasan dalam Database SQL Server (Contoh T-SQL)

  5. Cara yang tepat untuk menerapkan batasan unik yang memungkinkan beberapa nilai NULL di SQL Server