|
<< İç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ım | Sonuç |
|---|---|
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'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.