Trim sorunu
Trim sorunu
Merhaba
Firebird 2.0 da select trim(leading '*' from deneme) from dentbl gibi bir sorgudaki trim doğru çalışırken
select trim(leading ' ' from deneme) from dentbl
içindeki boşlukları sildirmeye çalıştığımda ise boşlukları silmeden alan direk geliyor. boşluk silmek için farklı özel bir karakter mi belirtmeliyim ?
Firebird 2.0 da select trim(leading '*' from deneme) from dentbl gibi bir sorgudaki trim doğru çalışırken
select trim(leading ' ' from deneme) from dentbl
içindeki boşlukları sildirmeye çalıştığımda ise boşlukları silmeden alan direk geliyor. boşluk silmek için farklı özel bir karakter mi belirtmeliyim ?
Selamlar,
Örnek data ve sorgularınız ve sonuçları konusunda örnekler verebilir misiniz.
Konuyu merak ettim, eğer bir BUG varsa geliştirmenlerine bildirebiliriz
Not : Geç bir yanıt oldu ama en azından çözüme kavuşturalım.
Örnek data ve sorgularınız ve sonuçları konusunda örnekler verebilir misiniz.
Konuyu merak ettim, eğer bir BUG varsa geliştirmenlerine bildirebiliriz

Not : Geç bir yanıt oldu ama en azından çözüme kavuşturalım.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Örnek data ya gerek yok herhangi alphanumeric bir alanda deneyebilirsiniz ben fb2.1 de denedim olmuyor (başka sürümlerde denemedim) ;
örnek vermek gerekirse...
bizim dentbl tablomuzda adi_soyadi diye bir alan var ve icinde ki kayit "x y" yani x,boşluk ve y bu tabloya selec trim(leading ' ' from adi_soyadi) from dentbl sorgusu malesef boşlukları kaldırmadan geri geliyor oysa sql92 de boşlukları kaldırması gerekli.
ilginize teşekkürler
örnek vermek gerekirse...
bizim dentbl tablomuzda adi_soyadi diye bir alan var ve icinde ki kayit "x y" yani x,boşluk ve y bu tabloya selec trim(leading ' ' from adi_soyadi) from dentbl sorgusu malesef boşlukları kaldırmadan geri geliyor oysa sql92 de boşlukları kaldırması gerekli.
ilginize teşekkürler
Selamlar,
Biraz araştırdığımda farkettim ki, TRIM() fonksiyonu, sondaki boşlukları almak için kullanılıyor, ancak TRIM(LEADING fonksiyonu ise, başındaki karakterleri temizlemek için kullanılıyor.
Deneme yapın, örneğin ismi 'A' ile başlayanları temizlemek için,
TRIM(LEADING 'A' FROM AlanAdi)
diyerek bir sorgu çekin o zaman durumu anlayacaksınız.
Şimdilik bulabildiğim bu. Örneğin 'Adnan ÖNCEVARLIK' isimli datada, aradaki boşluğu TRIM fonksiyonu ile ben aldıramadım.
Zaten TRIM (Budamak) başından veya sonundan yapılan bir işlem. İçini temizleyen ise başka şekilde yapılabilir.
Kolay Gelsin
Biraz araştırdığımda farkettim ki, TRIM() fonksiyonu, sondaki boşlukları almak için kullanılıyor, ancak TRIM(LEADING fonksiyonu ise, başındaki karakterleri temizlemek için kullanılıyor.
Deneme yapın, örneğin ismi 'A' ile başlayanları temizlemek için,
TRIM(LEADING 'A' FROM AlanAdi)
diyerek bir sorgu çekin o zaman durumu anlayacaksınız.
Şimdilik bulabildiğim bu. Örneğin 'Adnan ÖNCEVARLIK' isimli datada, aradaki boşluğu TRIM fonksiyonu ile ben aldıramadım.
Zaten TRIM (Budamak) başından veya sonundan yapılan bir işlem. İçini temizleyen ise başka şekilde yapılabilir.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Evet sizinde dediğiniz gibi Trim budamak ve tüm programlama lisanlarında kullanımı baştan ve sondan boşluk atmak için kullanılır ama yine sizin dediğiniz gibi Leading koşulu içinden karakter temizlemek için kullanılıyor orada A yerine boşluk koyduğumuzda onların da temizlenmesi gerekmez mi nasıl A bir karakterse boşlukta bir karakter tek farkı bir escape karakter diğer sql92 uygulayan veritabanlarında aynı işlem sorunsuz çalışıyor. Sanırım firebird de bu işi yapacak fonksiyon yok.
Selamlar,
Eğer ' Adnan ÖNCEVARLIK' bilgisinin başındaki boşluğu kaldırmıyor diyorsanız sorun var demektir. Ama ' Adnan ÖNCEVARLIK' bilgisindeki orta kısımdaki boşluktan bahsediyorsanız, yapmaması normaldir.
Birazdan bir deneme yapıp size sonucu vereceğim.
Eğer ' Adnan ÖNCEVARLIK' bilgisinin başındaki boşluğu kaldırmıyor diyorsanız sorun var demektir. Ama ' Adnan ÖNCEVARLIK' bilgisindeki orta kısımdaki boşluktan bahsediyorsanız, yapmaması normaldir.
Birazdan bir deneme yapıp size sonucu vereceğim.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Selamlar,
Doğru yapıyor !...
Test sonuçlarını veriyorum.
Sonuçları size export ettirerek verdim. Bir sorun yok !...
Kolay Gelsin
Doğru yapıyor !...
Test sonuçlarını veriyorum.
Kod: Tümünü seç
SELECT '*' || DENEME_ISIM_1, '*' || TRIM(LEADING ' ' FROM DENEME_ISIM_1) TRIMMED_ISIM
FROM TBL_DENEME
WHERE DENEME_ID <= 10
Sonuç aşağıdaki gibi,
CONCATENATION,TRIMMED_ISIM
"* Etaoin","*Etaoin"
"* Sorcha","*Sorcha"
"* Irwin","*Irwin"
"* Beverly","*Beverly"
"* Deborah","*Deborah"
"* Uinsionn","*Uinsionn"
"* Frank","*Frank"
"* Teigue","*Teigue"
"* Jozef","*Jozef"
"* Lola","*Lola"
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Selamlar,
Trim baştaki veya sondakileri kaldırmak için kullanılır. Delphi'de de StuffString diye ayrı bir string fonksiyonu vardır. Yani içeridekiler replace etmek için kullanılır.
şeklinde olabilir.
Kolay Gelsin
Trim baştaki veya sondakileri kaldırmak için kullanılır. Delphi'de de StuffString diye ayrı bir string fonksiyonu vardır. Yani içeridekiler replace etmek için kullanılır.
Delphi'de şöyle yapılabilir.function StuffString(const AText: string; AStart, ALength: Cardinal; const ASubText: string): string;
Inserts a substring into a specified position of a string, replacing the current characters.
Kod: Tümünü seç
Alan1 := StuffString(Alan1,1,1,' ') ;
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Selamlar,
Firebird 2.1 Beta 2
Detay
Version 2.1.0.16780
Firebird 2.1 Beta 2
Detay
Version 2.1.0.16780
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- ahmet_sinav
- Üye
- Mesajlar: 263
- Kayıt: 17 Nis 2004 07:44
- Konum: İzmir Yeşilyurt Ulu Cami
- İletişim:
firebird bu konularda çok esnek ve işlevsel aslına bakarsanız. firebird'te x işine yarayan fonksiyon yok demek biraz abes kaçıyor gibi geldi bana. Zira udf ile yapamayacağınız şey yok gibi.
Firebird iyidir, hızlıdır, işlevseldir, open source'tur nimetlerinden faydalanmanızı tavsiye ederim.
Saygılar;
Firebird iyidir, hızlıdır, işlevseldir, open source'tur nimetlerinden faydalanmanızı tavsiye ederim.
Saygılar;
İmam Süleyman Yakub <==> Molla Mustafa Mansur