4.1 Atanabilirlik

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > IVEDI SQL Kullanıcı Kılavuzu > 4. Tip uyumluluğu ve dönüşümler >

4.1 Atanabilirlik

Derleyici her tip çifti için bir uyum puanı tutar. Puan yoksa çift atanabilir değildir ve derleme hatası verir; puan varsa çift kabul edilir ve puanın büyüklüğü yalnızca aşırı yükleme seçiminde kullanılır (küçük puan daha iyi eşleşme demektir).

Derleme anında reddedilen başlıca çiftler:

YazımSonuç
i integer; i = true;Derleme hatası: BOOLEAN, INTEGER ile uyumlu değil
b boolean; b = 42;Derleme hatası: INTEGER, BOOLEAN ile uyumlu değil
i integer; i = date '…';Derleme hatası
dt date; dt = 42;Derleme hatası
d double; d = true;Derleme hatası
ts timestamp; ts = time '…';Derleme hatası
tm time; tm = timestamp '…';Derleme hatası
dt date; dt = time '…';Derleme hatası
tm time; tm = date '…';Derleme hatası

Hata mesajı her iki tipi de adıyla söyler:

Syntax error 'expression of type TIME is not compatible with TIMESTAMP'
Not

Bir tarih/saat değeri yalnızca aynı tarih/saat tipine atanabilir; SQL:2011 4.11 de böyle der. Tek istisna TIMESTAMP → DATE'dir: bu, günün saatini düşüren tanımlı bir daraltmadır ve hiçbir şey uydurmadığı için kabul edilir. Ters yön (DATE → TIMESTAMP) da kabul edilir; bir tarih, o günün gece yarısı olarak okunur.