firebird SP içinde integer alanı stringe cevirme

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
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

firebird SP içinde integer alanı stringe cevirme

Mesaj gönderen filiz »

Kod: Tümünü seç

CREATE PROCEDURE AYLIKMENUEKLE (
    KODU VARCHAR(20),
    GERCEK SMALLINT,
    MUSTERINO VARCHAR(20),
    TARIH DATE,
    ACIKLAMA VARCHAR(50))
AS
DECLARE VARIABLE AD VARCHAR(30);
DECLARE VARIABLE AYLIKMENUID INTEGER;
begin
  aylikmenuid=gen_id(gen_aylikmenu_id,1);

  ad='MENU'+:aylikmenuid;
  insert into aylikmenu values (:aylikmenuid,:kodu,:ad,:aciklama,:tarih,:musterino,:gercek);


 suspend;
yukarıdaki SPde ad alanına 'MENU'stringini ve aylikmenuid'nin degerini birleştirerek vermek istiyorum.MENU12 gibi mesala
ancak
ad='MENU'+:aylikmenuid;
yı kabul etmiyor.cunku ad varchar bi tip, aylikmenuid ise integer bi tip
aylikmenuid yi integerdan varchara nasıl cevirebilirim.ve sonra iki stringi nasıl birleştirebilirim
onaydin

Mesaj gönderen onaydin »

Firebird de İki string birleştirmek için || kullanılıyor.

Kod: Tümünü seç

ad = 'Menu' || :aylikmenuid; 
demeniz yeterli olacaktır.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Veri tipi dönüşümleri için CAST isimli halihazır bir fonksiyon var. Onunla çevirebilirsiniz.

IB'nin PDF'lerinde CAST fonksiyonu var. Göz atabilirsiniz. Hemen hemen hertürlü değişkeni kendi arasında değişikliğe uğratabiliyorsunuz.

Ayrıca Onaydin arkadaşımızın da söylediği gibi string alanlar kendi arasında pipelama ile || birleştirilebiliyor.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla