Konuyu görüntüle
IUCODERS FORUM > Programlama > Veritabanları > SQL ile string işleme
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
09.07.2009-11:05 #62365
Veritabanımda 25 karakter olarak belirleiğim isim ve soyisim değişkenlerim olsun.
isim = Mustafa Burak , soyisim amasyalı için bir sorguda (Isim + ' ' Soyisim) ile isim + soyisim bir bütün olarak çekmeye çalışıyorum. Ama 25 karakterin kalan kısmını boşluk alıp bana
"Mustafa Burak AMASYALI " Böyle bir string veriyor. Bu boşlukları yok etmek için ne yapabilirim?





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
09.07.2009-11:06 #62366
:S iucoders boşlukları sildi
"Mustafa Burak_______________________AMASYALI____________"

gibi





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
werbinich


avatar

Kayıt: 09.07.2009
09.07.2009-11:32 #62367
extreme yazdi
 
:S iucoders boşlukları sildi
"Mustafa Burak_______________________AMASYALI____________"

gibi


Example 1:

SELECT TRIM(' Sample ');

Result:

'Sample'

Example 2:

SELECT LTRIM(' Sample ');

Result:

'Sample '

Example 3:

SELECT RTRIM(' Sample ');

Result:

' Sample'






Yazar
sevecen


avatar
adana istanbul
Kayıt: 08.02.2006
09.07.2009-11:51 #62368
veri tabanına trim yaparak gönderirsen alırken sqlde trim yapmak zorunda kalmazsın.





bize ruyalarimizin degil uyanikligimizin tabiri gerek (Alinti)





Yazar
blackout


avatar

Kayıt: 11.12.2008
09.07.2009-12:11 #62369
Veri tipi olarak CHAR kullanıyorsan fazladan boşluk olması normaldir. Eğer bir zorunluluk yoksa onun yerine VARCHAR kullanabilirsin.





Yazar
iemre


avatar
Anadolu
Kayıt: 26.05.2007
10.07.2009-09:16 #62385
Değişkenleri alırken varchara belirli bir uzunlukta convert ederekte yapabilirsin.Bu şekilde boşlukları yok etmiş olursun.Trim kullanmak bence gereksiz hatta böyle convert falanda gereksiz aslında ama neden böyle bir hata vermiş çok garip.Sql sorgunu buraya yazarsan belki yardımcı olabiliriz.





More than one
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
10.07.2009-09:50 #62386
varchar yaptığımda sorun ortadan kalktı. char ile varchar arasında performans farkı varmıconfused





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
iemre


avatar
Anadolu
Kayıt: 26.05.2007
10.07.2009-10:32 #62388
Şimdi performans olarak char daha hızlı.Ama onunda bi eksikliği var.varchar değişkenimizin uzunluğunu diyelim 255 verdik ama 25 girdik.Bellekte 25 lik bir alan ayrılır ama char ise direk bütün uzunluğu kaplar.Eğer gireceğimiz uzunlukların uzunluğunu sabt biliyorsak char hız olarak daha etkilidir.





More than one
Yazar
blackout


avatar

Kayıt: 11.12.2008
10.07.2009-12:03 #62390
iemre yazdi
 
Şimdi performans olarak char daha hızlı.Ama onunda bi eksikliği var.varchar değişkenimizin uzunluğunu diyelim 255 verdik ama 25 girdik.Bellekte 25 lik bir alan ayrılır ama char ise direk bütün uzunluğu kaplar.Eğer gireceğimiz uzunlukların uzunluğunu sabt biliyorsak char hız olarak daha etkilidir.

Bu doğru değil. Genellikle VARCHAR(255) tipi CHAR(255) tipinden daha hızlıdır. Çünkü VARCHAR minimum alan kaplar ve bu da veri yolundaki ve önbellekteki ağırlığın minimum olması anlamına gelir. Yani veri uzunluğunun değişken olması performansı düşürmez. Zaten veri 0x00 ile sonlandığından extra bir algoritma ile verinin uzunluğunu ölçmeye gerek yok. Maximum uzunluğu biliyoruz zaten. Özellikle sort işleminde VARCHAR daha hızlıdır çünkü karşılaştırılacak karakter sayısı minimumdur.





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
10.07.2009-13:16 #62392
Teşekkürler. bir sorun daha olacak. text olarak tanımlıyorum bir değişkeni.

<h:inputTextarea value='#{HR_Training_Bean.table.value["TRAIN_Contend"]}'/>

JSF ile bu şekilde gösteriyorm ekranda. Ama herhangi bir şey yazıp kaydederken vs. şöyle bir hata alıyorum.

10.Tem.2009 13:11:33 com.sun.faces.lifecycle.RenderResponsePhase execute
INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=j_id_jsp_157742842_1:j_id_jsp_157742842_72[severity=(ERROR 2), summary=(Conversion Error setting value 'net.sourceforge.jtds.jdbc.ClobImpl@196953' for 'null Converter'. ), detail=(Conversion Error setting value 'net.sourceforge.jtds.jdbc.ClobImpl@196953' for 'null Converter'. )]


net.sourceforge.jtds.jdbc.ClobImpl@196953
Bu kendi kendine geliyor bu hatayı aldıktan sonra.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb