SQL

2016-04-13 16 views
1

kullanarak belirli bir konumda dizede verileri ayarlayın SQL db'den verileri kullanarak belirli konumlarda 60 adet veri kümesi içeren bir dizeyi doldurmam gerekiyor. Örneğin, veri 1 ile 4 konumu 1 MyString olacak, veri 2 SQL

mySQL SELECT INSERT('Originalstring', 4, 5, ' insert ') 

mükemmel olurdu vb 5 ila 10 olacak ama SQL kullanıyorum. Bunu SQL'de nasıl yapabilirim?

+0

Belki de sadece concat() 'istiyorsun. –

+0

Sorunuz biraz kafa karıştırıcıdır, sadece birkaç dizi diziyi uzun bir dizede birleştirmek mi istiyorsunuz? veya özel dizenizi belirli aralıklarla önceden belirlenmiş bir dizeye eklemek mi istiyorsunuz? –

+0

Evet, concat'a() başvuruldu. Sorun, verilerimin tüm konum boyutunu doldurmaması olabilir. Örnek: eğer veri 1'in 1'den 4'e kadar pozisyonda olması gerekiyorsa fakat sadece 2'nin uzunluğu ise, 2. veri hala 5. pozisyonda başlamalıdır. – Sonia

cevap

1

STUFF numaralı telefonu kullanmak istiyorsunuz.

declare @originalString varchar(50) = 'This is my string', 
     @stringToStuff varchar(10) = 'new ' 

SELECT STUFF(@originalString, 12, 0, @stringToStuff) 

Bu (benim hemen sonra boşluk sonrasında) endeksine @originalString 12 dize @stringToStuff ekleyecektir.

+0

Bu harikaydı Bilemiyorum SQL'de bir şeydi. Bu yararlı olabilir. –