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

Cara Memasukkan String ke String lain di SQL Server menggunakan STUFF()

Di SQL Server, Anda dapat menggunakan T-SQL STUFF() berfungsi untuk memasukkan string ke string lain. Ini memungkinkan Anda melakukan hal-hal seperti menyisipkan kata pada posisi tertentu. Ini juga memungkinkan Anda untuk mengganti kata pada posisi tertentu.

Berikut sintaks resminya:

STUFF ( character_expression , start , length , replaceWith_expression )
  • character_expression adalah string asli. Ini sebenarnya bisa berupa konstanta, variabel, atau kolom dari karakter atau data biner.
  • start menentukan posisi awal (yaitu di mana string baru akan dimasukkan).
  • length adalah berapa banyak karakter yang harus dihapus dari string asli.
  • replaceWith_expression adalah string yang sedang dimasukkan. replaceWith_expression dapat berupa konstanta, variabel, atau kolom dari karakter atau data biner.

Ganti Kata

Berikut adalah contoh di mana saya mengganti kata dalam string.

SELECT STUFF('Cats and dogs', 6, 3, 'like');

Hasil:

Cats like dogs

Dalam hal ini, saya menetapkan bahwa kata like harus dimasukkan pada posisi 6, dan 3 karakter tersebut harus dihapus dari string asli (ini menghapus kata and ). Jadi kata and dihapus dan kata like dimasukkan.

Menyisipkan Kata

Berikut ini contoh menyisipkan kata tanpa menghapus apa pun dari string aslinya:

SELECT STUFF('Cats and dogs', 10, 0, 'big ');

Hasil:

Cats and big dogs

Tidak ada yang dihapus dari string asli karena saya menentukan 0 sebagai argumen ketiga.

Nilai Di Luar Rentang

Jika posisi awal berada di luar panjang string asli, nilai NULL akan dikembalikan.

Contoh:

SELECT STUFF('Cats and dogs', 20, 4, 'rabbits');

Hasil:

NULL

Dalam hal ini, string asli tidak sepanjang 20 karakter, jadi hasilnya adalah NULL .

Hal yang sama terjadi jika Anda memberikan 0 atau angka negatif:

SELECT STUFF('Cats and dogs', -1, 4, 'rabbits');

Hasil:

NULL

Hasil dari contoh-contoh ini berbeda dengan INSERT() MySQL fungsi, yang akan mengembalikan string asli dalam skenario ini. INSERT() MySQL pada dasarnya melakukan hal yang sama dengan STUFF() T-SQL (kecuali untuk kasus seperti ini).

Memasukkan Nilai NULL

Jika Anda memasukkan nilai NULL, hasil Anda hanya akan menghapus jumlah karakter yang disebutkan dari posisi yang disebutkan. Dengan kata lain, tidak ada yang dimasukkan, tetapi karakter tetap dihapus seperti yang ditentukan.

Contoh:

SELECT STUFF('Cats and dogs', 6, 3, NULL);

Hasil:

Cats dogs

Ini adalah area lain di mana MySQL berbeda dengan T-SQL. Melakukan contoh ini dengan MySQL INSERT() fungsi akan mengembalikan hasil NULL .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cache Objek Sementara SQL Server

  2. 5 Fakta Teratas untuk Menemukan dan Mengganti Teks SQL di SQL Server dengan Fungsi REPLACE

  3. Cara Memeriksa Pengaturan ANSI_NULLS Sesi Anda di SQL Server

  4. Pencarian teks lengkap tidak berfungsi jika kata berhenti disertakan meskipun daftar kata berhenti kosong

  5. Peringatan Agen SQL Server