Firebird ve LEFT işlemi (Soldan x kadar alma)

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
acimen
Üye
Mesajlar: 18
Kayıt: 06 Nis 2005 02:21
Konum: Kocasinan Belediyesi

Firebird ve LEFT işlemi (Soldan x kadar alma)

Mesaj gönderen acimen »

Merhaba,
Bu hafta doğanlar bilgisi için sql yazmak istiyorum. 19.04.1977 ise soldan 5 tane alıp karşılaştırmak istiyorum. bunu nasıl yapabilirim. Teşekkürler...
onaydin

Mesaj gönderen onaydin »

1. Bu işi date time fonksiyonlarıyla da yapabilirsiniz.
2. Firebird de left fonksiyonu yok substring ile halledebilirsiniz.
zyildiz
Üye
Mesajlar: 115
Kayıt: 09 Mar 2004 01:22
Konum: Adapazarı

Re: Firebird ve LEFT işlemi (Soldan x kadar alma)

Mesaj gönderen zyildiz »

Bu soru konuyla baglantılı oldugu için yeni bir topic acmıyorum.

database olarak firebird 2.1 kullanıyorum. firebird 2.1 ile kullanabilecegimiz fonksiyonlarıda adminimiz aşagıdaki adreste özetlemiş.
viewtopic.php?f=18&t=22223

sorum su

parca listesi diye bir tablom var bu tabloda
resimno alanı
tr1.01.02.001
tr1.01.01.002
tr2.02.02.023
...
bilgiler
ben bu bilgileri bir procedurun için de aşagıdaki gibi parcalayarak kullanmak istiyorum.
başlangıçtan ilk noktaya kadar olan kısmı (tr1 vb)
birinci noktadan ikinci noktaya kadar olan kısmı (01 vb)

bu işlemi yaparkende procedure de kullanacagım için bilgiler bir değişkenden gelmesi gerekiyor. Aşagıdaki işlemi ibexpert SQLeditör de yapınca çalışyor

Kod: Tümünü seç

select left('TR1.02.',(select position('.' in 'TR1.02.') from rdb$database)-1) from rdb$database
bu işlemi procedurun içinde kullanınca left( de hata veriyor.

Kod: Tümünü seç

select left(:d_resim_no,(select position('.' in :d_resim_no) from rdb$database)) from rdb$database 
substring ile de denedim

Kod: Tümünü seç

select substring(:d_resim_no from 1 for (select position('.' in :d_resim_no???)from rdb$database)-1) from rdb$database
???oldugu yerde imleç duruyor ve özellik desteklenmiyor hatası veriyor

acaba bir yerde hata mı yapıyorum yoksa bir bug mı var
Medeniyet dediğin hayat almaz, hayat verir. Senin dedelerin ninelerin bunu gerçekleştirdi... Şemsettin YEŞİL
Cevapla