sayisal alanları stringe dönüştürme inttostr, gibi

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
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

sayisal alanları stringe dönüştürme inttostr, gibi

Mesaj gönderen SieS »

S.a.

Firebird 1,5 kullanyorum bir tablomun triger kısmında integer bir alandaki değeri bir metin ile birleştirip tek metin haline döüştütmem gerekiyor . Bu durumda integer alanı nasıl varchar yada string e çevirebilirim.

Delphide s:= inttostr(235) yapıyoruz ya işte öyle :D

Formdaki bazı mesajlarda cast ile yapıldığı yazıyor ama nasıl yapıldığı yazmıyor.
Yardımcı olacak arkadaşlara şimdiden teşekkürler.
Saygılar


NOT: Bana integer to string için lazım oldu başka arkadaşlarda başka şekillerde lazım olabilir bir kaç örnek ile süslerseniz bu konuda tekrar tekrar mesajlar gelmez sanırım ..
Ben Toprağın Sinesinde İnsan Denilen Bir Canım
Hem Düşünür, Hem Severim Budur Taştan Faklı Yanım.
Her maddenin zevlesini bedenimde taşıyorsam.
Ben ne bir taş ne bir ağaç, insanlığımla insanım.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

cast( donusturulecek_deger as tip)
örnegin cast('123456' as Integer) gibi
ÜŞENME,ERTELEME,VAZGEÇME
Master43
Üye
Mesajlar: 73
Kayıt: 17 Ara 2004 12:05

Mesaj gönderen Master43 »

alekümselam;

TRIGGER içinde tip dönüşümü için cast ifadeseni kullanabilirsin kullanımı aşağıdaki gibidr,

S := cast(ALAN_ADI AS VARCHAR(10))
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
cast ile double precision bir alanı varchar a dönüştrüyorum. 1.111e+010 gibi bir değer veriyor nasıl düzeltebilirim nasıl düzgün bir şekilde alabilirim.
şöyle bir açıklayayım
bir tabloda tckimlik numarasını double precision tanımladım.
başka bir tabloda ise tckimlik numarası varchar 11
double precision olan tabloda tckimlik numarası değiştirildiği zaman bunu trigerda kontrol edip diğer tabloyu update yapıyorum. ancak update yaptığım zaman yukarda dediğim şekilde dönüştürüyor. Bunu düzgünbir şekilde nasıl dönüştürebilirim.
tetikleyicide yazdığım kod şöyle

Kod: Tümünü seç

 update table1 k set
        k.nufusno=CAST (new.tckimlikno AS VARCHAR(11))
      where k.id=new.id
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

olayı hallettim arkadaşlar. biraz hile gibi oldu ama neyse

Kod: Tümünü seç

k.nufusno=substr((CAST (new.tckimlikno AS CHAR(20))),1,11)
substr kullandım ama farklı çözüm yollarına açığım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

CAST(CAST(TC_KIMLIK_NO AS BIGINT) AS VARCHAR(20))

de başka bir alternatif. Tabi BIGINT'i destekliyorsa.

İyi çalışmalar.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

CAST(CAST(TC_KIMLIK_NO AS DECIMAL(11, 0)) AS VARCHAR(20))

de başka bir alternatif.

İyi çalışmalar.
Cevapla