firebird da substring nasıl yapılır

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

firebird da substring nasıl yapılır

Mesaj gönderen musti »

selamun aleykum

Select kodu,SUM(BORC) , SUM(ALACAK) from table
groub by kodu

sonuc :
100/250 50000 45000
200/250 65000 null




sorgusunda istedigim sadece kodu alanının ilk uc karakterine gore yapsın bun mumkun mu acaba

benim istedigim sonuc ise:
100 50000 45000
200 65000 null


bu arada halen iç ice select li sum ici toplamda sorgusunda null aldıgım zaman sonuc null oluyor olayını cozemedim yani fahrettin hocamın degimi ile isnull ise 0 olsunun firebird karşılığını bulamadım
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

FireBird/Interbase hakkında Sık Sorulan Sorular (04.03.2005)
UDF nedir?
User-Defined Function (Kullanıcı tanımlı fonksiyon). dll yazarak veya mevcut UDF dll'lerini kullanara, FireBird'e fonksiyonlar ilave edebilirsiniz.

Bildiğiniz güzel UDF'ler var mı?
rFunc : http://rfunc.sourceforge.net/
SubStr(s, i1, i2)
.-.-.-.-.-.-.-. ^_^
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba..

Bunun için aklıma gelen Udf kullanman gerekiyor.. ib_udf nin içinde substrLen diye bir fonksiyon var aynı Delphideki Copy komutu gibi..

Kod: Tümünü seç

Select substrlen(kodu,1,3),SUM(BORC) , SUM(ALACAK) from table
groub by kodu 
gibi kullanımda istediğin sonucu alabilirsin...
En son Uğur1982 tarafından 30 Ağu 2005 04:54 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

TSK EDERİM ama yapamadım
su mesaj geliyor


Function unknown
SUBSTRLEN
Statement: select SUBSTRLE .....
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

Kod: Tümünü seç

DECLARE EXTERNAL FUNCTION substrlen 
	CSTRING(255), SMALLINT, SMALLINT
	RETURNS CSTRING(255) FREE_IT
	ENTRY_POINT 'IB_UDF_substrlen' MODULE_NAME 'ib_udf';
Yukarıdaki kodu ibexpert de SQL editorde çalıştır, commitle..ilk önce udf yi yüklemen lazım..
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

sayın ugur tek kelimeyle boyuk adamsın allah senden razi olsun
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

:( sorunum cozulmedi abi ya

sub string gelen tamam ama toplamları almıyor yani hepsini gosteriyor

yani aynı kodların topla seklinde olmuyor

distinc yapıp toplam gostermiyor yani

100/250 5
100/251 10
100/252 15

olan sonucu

100 5
100 10
100 15 gosteriyor
oysa

100 300 gostermesi lazim

:(
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba..

Şöyle bir deneyebilirsin...

Kod: Tümünü seç

Select substrlen(kodu,1,3),SUM(BORC) , SUM(ALACAK) from table
groub by substrlen(kodu,1,3)
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

oldu tsk ederim
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Aşağıdaki kod sanırım udf ye gerek kalmadan aynı sonucu veriyor.

Kod: Tümünü seç

Select substring (kodu from 1 for 3),SUM(BORC) , SUM(ALACAK) from table
groub by substring(kodu from 1 for 3)
Biz bir alternatif sunalım dedik. :lol:

Kolay gelsin.
En son ofenX tarafından 24 Eyl 2005 05:50 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

ofenX yazdı:Merhaba,
Aşağıdaki kod sanırım udf ye gerek kalmadan aynı sonucu veriyor.

Kod: Tümünü seç

Select substring (kodu from 1 for 3),SUM(BORC) , SUM(ALACAK) from table
groub by substrlen(kodu,1,3)
Biz bir alternatif sunalım dedik. :lol:

Kolay gelsin.

sondaki substrlen oldukça udf ye de gerek var demektir :wink:
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

sadettinpolat yazdı: sondaki substrlen oldukça udf ye de gerek var demektir :wink:
Gözümden kaçmış düzelttim.
Cevapla