Vievde CAST kullanımı hakkında

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
AhmetNuri
Üye
Mesajlar: 262
Kayıt: 02 Tem 2007 07:55
Konum: ist
İletişim:

Vievde CAST kullanımı hakkında

Mesaj gönderen AhmetNuri »

Selamun Aleyküm
Integer olan alandaki değerlerin soldan 4 hanesini string olarak almak istiyorum
Integer bir alanı i string e çevirmye ihtiycım. Ama alandaki tüm değerler sting olacak ve string değere göre sorgu yapacağım.
10 haneli integer sipariş numarası var.
bunun soldan 4 rakamını string olarak alıp sql de kullanacağım. ama alamdım.
2008010001 numara buysa 2008 değerini string olarak döndürmeli.

yaptığım denemeler

Kod: Tümünü seç

CAST (substring(ISLEM.ISLEM_SIPARISNO from 4 FOR 4) AS VARCHAR(11))
SUBSTRING(CAST(ISLEM.ISLEM_SIPARISNO as VARCHAR(10)),4,4)

viewtopic.php?t=8039&highlight=cast
buradaki yazılan ları uygulayamadım.
Teşekkürler
iyi çalışmalar.
Ahmet DENİZ
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: VIEW DE CAST KULLANIMI HAKKINDA

Mesaj gönderen aslangeri »

s.a.

Kod: Tümünü seç

SUBSTRING(cast(ISLEM.ISLEM_SIPARISNO AS nvarchar(10)),1,4) 
dediğiniz zaman yapması lazım gibime geliyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
AhmetNuri
Üye
Mesajlar: 262
Kayıt: 02 Tem 2007 07:55
Konum: ist
İletişim:

Re: VIEW DE CAST KULLANIMI HAKKINDA

Mesaj gönderen AhmetNuri »

A.S.

Kod: Tümünü seç

   SUBSTRING(cast(ISLEM.ISLEM_SIPARISNO AS varchar(10),1,4) ,
56.karekterinde hata veriyor o da "varchar(10)" burdan sonrası
Yapım comile ederken ibmanager bu hatayı verdi

Kod: Tümünü seç

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Ayrıca aşağıdaki koldarı da denedim
çalışmadı

Kod: Tümünü seç

    substring((cast (ISLEM.ISLEM_SIPARISNO AS varchar(10))),1,4),

bu çalıştı ama substring yok

Kod: Tümünü seç

cast(ISLEM.ISLEM_SIPARISNO AS varchar(10)),
Ahmet DENİZ
AhmetNuri
Üye
Mesajlar: 262
Kayıt: 02 Tem 2007 07:55
Konum: ist
İletişim:

Re: VIEW DE CAST KULLANIMI HAKKINDA

Mesaj gönderen AhmetNuri »

Sonunda çalıştı cast dan sonra boşluk olmadığı için hata veriyormuş
çalışan kod:

Kod: Tümünü seç

    CAST (substring(ISLEM.ISLEM_SIPARISTARIHI from 1 FOR 4) AS VARCHAR(11)),
    substring(ISLEM.ISLEM_OPERASYONADI from 1 FOR 1),
    SUM(ISLEM.ISLEM_YTLDEGER)
FROM
ISLEM
GROUP BY
   substring(ISLEM.ISLEM_OPERASYONADI from 1 FOR 1), CAST (substring(ISLEM.ISLEM_SIPARISTARIHI from 1 FOR 4) AS VARCHAR(11));


satırların anlamı

Kod: Tümünü seç

    CAST (substring(ISLEM.ISLEM_SIPARISTARIHI from 1 FOR 4) AS VARCHAR(11)),
Date olan ISLEM.ISLEM_SIPARISTARIHI alanını 11 haneli stringe çevir ve dönen string te 1 itibaren 4 hane al.

Kod: Tümünü seç

 substring(ISLEM.ISLEM_OPERASYONADI from 1 FOR 1),
ISLEM.ISLEM_OPERASYONADI alanınındaki verilerin ilk harflerini al

Kod: Tümünü seç

SUM(ISLEM.ISLEM_YTLDEGER)
ytl değer alanını topla
Ahmet DENİZ
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: VIEW DE CAST KULLANIMI HAKKINDA

Mesaj gönderen aslangeri »

s.a.
öncelikle problemi çözmenize sevindiğmi belirtmeliyim.

gönderdiğim kodun çalışmadığını belirtmeniz üzerine kodun çalışmaması ile ilgili birkaç noktayada açıklık getirmek istiyorum.

1) kullandığınız Firebird versiyonundan dolayı kaynaklanan bir problem olabilir.
2) benim gönderdiğim kod ile sizin çalışmıyor dediğiniz kod aynı değil. kodu fb 1.5.x de test edip öyle gönderdim.

çalışmalarınızda başarılar dilerim.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
AhmetNuri
Üye
Mesajlar: 262
Kayıt: 02 Tem 2007 07:55
Konum: ist
İletişim:

Re: VIEW DE CAST KULLANIMI HAKKINDA

Mesaj gönderen AhmetNuri »

aslangeri yazdı:s.a.
öncelikle problemi çözmenize sevindiğmi belirtmeliyim.

gönderdiğim kodun çalışmadığını belirtmeniz üzerine kodun çalışmaması ile ilgili birkaç noktayada açıklık getirmek istiyorum.

1) kullandığınız Firebird versiyonundan dolayı kaynaklanan bir problem olabilir.
2) benim gönderdiğim kod ile sizin çalışmıyor dediğiniz kod aynı değil. kodu fb 1.5.x de test edip öyle gönderdim.

çalışmalarınızda başarılar dilerim.
kolay gelsin.
Evet ben Firebird 2.1.1 de denedim sanırım ondan. Kodu sizin gönderdiğiniz koda göre yazdım zaten. Birde EmsIBFBManager de bazen çalışması gerekn komutları çalıştırmıyor. bende Ems 5.1 ve 3.2 var. 3.2 de çalışan kod. 5.1 deçalışmıyor aynı veri tabanı ama olmuyor.
Teşekkürler
iyi çalışmalar.
Ahmet DENİZ
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Vievde CAST kullanımı hakkında

Mesaj gönderen aslangeri »

ben ibexpert kullanıyorum vede gayet memnunum. tavsiye edebilirim.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla